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); |