[gtk-vnc] examples: add menu option for keep aspect ratio



commit 76d51800e371329d79793267ef66d3ae919564cc
Author: Daniel P. Berrangé <dan berrange com>
Date:   Tue Mar 23 14:51:21 2021 +0000

    examples: add menu option for keep aspect ratio
    
    Signed-off-by: Daniel P. Berrangé <berrange redhat com>

 examples/gvncviewer.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)
---
diff --git a/examples/gvncviewer.c b/examples/gvncviewer.c
index 88d8461..f5f15e6 100644
--- a/examples/gvncviewer.c
+++ b/examples/gvncviewer.c
@@ -413,6 +413,14 @@ static void do_smoothing(GtkWidget *menu, GtkWidget *vncdisplay)
         vnc_display_set_smoothing(VNC_DISPLAY(vncdisplay), FALSE);
 }
 
+static void do_keep_aspect_ratio(GtkWidget *menu, GtkWidget *vncdisplay)
+{
+    if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menu)))
+        vnc_display_set_keep_aspect_ratio(VNC_DISPLAY(vncdisplay), TRUE);
+    else
+        vnc_display_set_keep_aspect_ratio(VNC_DISPLAY(vncdisplay), FALSE);
+}
+
 static void do_power_control(VncDisplay *vncdisplay, VncConnectionPowerAction action)
 {
     VncConnection *conn = vnc_display_get_connection(vncdisplay);
@@ -709,6 +717,7 @@ int main(int argc, char **argv)
     GtkWidget *fullscreen;
     GtkWidget *scaling;
     GtkWidget *smoothing;
+    GtkWidget *keep_aspect_ratio;
     GtkWidget *resize;
     GtkWidget *showgrabkeydlg;
     GtkWidget *shutdown;
@@ -787,6 +796,7 @@ int main(int argc, char **argv)
     fullscreen = gtk_check_menu_item_new_with_mnemonic("_Full Screen");
     scaling = gtk_check_menu_item_new_with_mnemonic("Scaled display");
     smoothing = gtk_check_menu_item_new_with_mnemonic("Smooth scaling");
+    keep_aspect_ratio = gtk_check_menu_item_new_with_mnemonic("Keep aspect ratio");
     resize = gtk_check_menu_item_new_with_mnemonic("Allow resizing");
 
     gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(scaling), TRUE);
@@ -796,6 +806,7 @@ int main(int argc, char **argv)
     gtk_menu_shell_append(GTK_MENU_SHELL(submenu), fullscreen);
     gtk_menu_shell_append(GTK_MENU_SHELL(submenu), scaling);
     gtk_menu_shell_append(GTK_MENU_SHELL(submenu), smoothing);
+    gtk_menu_shell_append(GTK_MENU_SHELL(submenu), keep_aspect_ratio);
     gtk_menu_shell_append(GTK_MENU_SHELL(submenu), resize);
 
     gtk_menu_item_set_submenu(GTK_MENU_ITEM(view), submenu);
@@ -946,6 +957,8 @@ int main(int argc, char **argv)
                      G_CALLBACK(do_scaling), vnc);
     g_signal_connect(smoothing, "toggled",
                      G_CALLBACK(do_smoothing), vnc);
+    g_signal_connect(keep_aspect_ratio, "toggled",
+                     G_CALLBACK(do_keep_aspect_ratio), vnc);
     g_signal_connect(shutdown, "activate",
                      G_CALLBACK(do_shutdown), vnc);
     g_signal_connect(reboot, "activate",


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]