diff options
| author | tlatorre <tlatorre@uchicago.edu> | 2022-11-12 13:22:12 -0800 | 
|---|---|---|
| committer | tlatorre <tlatorre@uchicago.edu> | 2022-11-12 13:22:12 -0800 | 
| commit | e7766d22748115410567d666906162c9bdb91548 (patch) | |
| tree | ad5f6faee0d7152eeb6bd183b80829ae8c424138 | |
| parent | 8b221f68ed06c4b0866191771789e9a3414a5076 (diff) | |
| download | moji-e7766d22748115410567d666906162c9bdb91548.tar.gz moji-e7766d22748115410567d666906162c9bdb91548.tar.bz2 moji-e7766d22748115410567d666906162c9bdb91548.zip  | |
add some comments
| -rw-r--r-- | vito.c | 30 | 
1 files changed, 16 insertions, 14 deletions
@@ -4,6 +4,12 @@  #include <gdk/gdkkeysyms.h>  #include <gdk/gdkenums.h> +/* Time in milliseconds it takes to write a character, i.e. if you hold down + * the mouse button for this many ms it will write the character and move on to + * the next character (or emoji). + * + * Initially had this set to 500 ms (half a second), but that was a bit short, + * so I've updated it to one second. */  #define CLICK_TIME 1000  #define LEN(x) ((sizeof(x)/sizeof(0[x])) / ((size_t)(!(sizeof(x) % sizeof(0[x]))))) @@ -22,6 +28,7 @@ static void aeGetTime(long *seconds, long *milliseconds)  GtkWidget *text_widget;  GtkTextTag *tag; +/* List of emojis. */  #define STOP "\xf0\x9f\x9b\x91"  #define THANK_YOU "\xf0\x9f\x99\x8f"  #define UNAMUSED "\xf0\x9f\x98\x92" @@ -76,8 +83,6 @@ const char *emoji_array[] = {      CLEAR_SCREEN,  }; -chars emoji = { emoji_array, LEN(emoji_array)}; -  const char *alphabet_array[] = {      "a",      "b", @@ -115,8 +120,8 @@ const char *alphabet_array[] = {      "."  }; +chars emoji = { emoji_array, LEN(emoji_array)};  chars alphabet = {alphabet_array, LEN(alphabet_array)}; -  chars *current_chars = &emoji;  char buf[100000]; @@ -167,14 +172,14 @@ static void write_buf(void)      gtk_text_buffer_apply_tag(text_buffer, tag, &start, &end);  } -static int pressed2(GtkWidget *widget, gpointer data) +static int right_click_pressed(GtkWidget *widget, gpointer data)  {      backspace();      write_buf();      return TRUE;  } -static int released2(GtkWidget *widget, gpointer data) +static int right_click_released(GtkWidget *widget, gpointer data)  {      return TRUE;  } @@ -267,8 +272,7 @@ static void activate(GtkApplication *app, gpointer user_data)      GtkTextBuffer *text_buffer;      GtkCssProvider *provider;      GtkStyleContext *context; -    GtkGesture *gesture; -    GtkGesture *gesture2; +    GtkGesture *gesture, *right_click_gesture;      GtkEventController *event_controller;      window = gtk_application_window_new(app); @@ -279,11 +283,11 @@ static void activate(GtkApplication *app, gpointer user_data)      g_signal_connect(event_controller, "key-pressed", G_CALLBACK(on_key_press), NULL);      gtk_widget_add_controller(window, event_controller); -    gesture2 = gtk_gesture_click_new(); -    gtk_gesture_single_set_button(GTK_GESTURE_SINGLE (gesture2), 3); -    g_signal_connect(gesture2, "pressed", G_CALLBACK(pressed2), NULL); -    g_signal_connect(gesture2, "released", G_CALLBACK(released2), NULL); -    gtk_widget_add_controller(window, GTK_EVENT_CONTROLLER(gesture2)); +    right_click_gesture = gtk_gesture_click_new(); +    gtk_gesture_single_set_button(GTK_GESTURE_SINGLE (right_click_gesture), 3); +    g_signal_connect(right_click_gesture, "pressed", G_CALLBACK(right_click_pressed), NULL); +    g_signal_connect(right_click_gesture, "released", G_CALLBACK(right_click_released), NULL); +    gtk_widget_add_controller(window, GTK_EVENT_CONTROLLER(right_click_gesture));      gesture = gtk_gesture_click_new();      g_signal_connect(gesture, "pressed", G_CALLBACK(pressed), NULL); @@ -311,8 +315,6 @@ static void activate(GtkApplication *app, gpointer user_data)      /* Use a tag to change the color for just one part of the widget */      tag = gtk_text_buffer_create_tag(text_buffer, "red_foreground", "foreground", "red", NULL);   -    buf[0] = 'a'; -    buf[1] = '\0';      write_buf();      gtk_window_set_child(GTK_WINDOW(window), text_widget);  | 
