[Commit] gwaterfall/src main.c,1.3,1.4 waterfall.c,1.5,1.6 waterfall.h,1.3,1.4
Noah Levitt
commit@keithp.com
Mon, 28 Apr 2003 20:09:47 -0700
Committed by: nlevitt
Update of /local/src/CVS/gwaterfall/src
In directory home.keithp.com:/tmp/cvs-serv23562
Modified Files:
main.c waterfall.c waterfall.h
Log Message:
Add aspect option.
Index: main.c
===================================================================
RCS file: /local/src/CVS/gwaterfall/src/main.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- main.c 29 Apr 2003 02:21:45 -0000 1.3
+++ main.c 29 Apr 2003 03:09:45 -0000 1.4
@@ -200,12 +200,21 @@
static void
increment_changed (GtkAdjustment *adjustment,
- Waterfall *waterfall)
+ Waterfall *waterfall)
{
waterfall_set_increment (waterfall, gtk_adjustment_get_value (adjustment));
}
+static void
+aspect_changed (GtkAdjustment *adjustment,
+ Waterfall *waterfall)
+{
+ waterfall_set_aspect (waterfall,
+ gtk_adjustment_get_value (adjustment));
+}
+
+
static GtkWidget *
construct_size_bar (Waterfall *waterfall)
{
@@ -257,6 +266,33 @@
}
+static GtkWidget *
+construct_aspect_bar (Waterfall *waterfall)
+{
+ GtkWidget *hbox;
+ GtkObject *adjustment;
+ GtkWidget *spin_button;
+ GtkWidget *label;
+
+ hbox = gtk_hbox_new (FALSE, 6);
+ gtk_widget_show (hbox);
+
+ label = gtk_label_new ("Aspect:");
+ gtk_widget_show (label);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+
+ adjustment = gtk_adjustment_new (waterfall_get_aspect (waterfall),
+ 0.01, 100.0, 0.05, 0.5, 0);
+ g_signal_connect (adjustment, "value-changed",
+ G_CALLBACK (aspect_changed), waterfall);
+ spin_button = gtk_spin_button_new (GTK_ADJUSTMENT (adjustment), 0, 1);
+ gtk_widget_show (spin_button);
+ gtk_box_pack_start (GTK_BOX (hbox), spin_button, FALSE, FALSE, 0);
+
+ return hbox;
+}
+
+
static void
set_page_label (Waterfall *waterfall)
{
@@ -566,6 +602,13 @@
G_CALLBACK (antialias_toggled), waterfall);
gtk_box_pack_start (GTK_BOX (hbox), construct_rgba_menu (waterfall),
+ FALSE, FALSE, 0);
+
+ separator = gtk_vseparator_new ();
+ gtk_widget_show (separator);
+ gtk_box_pack_start (GTK_BOX (hbox), separator, FALSE, FALSE, 0);
+
+ gtk_box_pack_start (GTK_BOX (hbox), construct_aspect_bar (waterfall),
FALSE, FALSE, 0);
hbox = gtk_hbox_new (FALSE, 12);
Index: waterfall.c
===================================================================
RCS file: /local/src/CVS/gwaterfall/src/waterfall.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- waterfall.c 29 Apr 2003 02:21:45 -0000 1.5
+++ waterfall.c 29 Apr 2003 03:09:45 -0000 1.6
@@ -75,13 +75,12 @@
if (waterfall->font_style != NULL)
FcPatternAddString (pattern, FC_STYLE, waterfall->font_style);
- if (size)
- FcPatternAddDouble (pattern, FC_PIXEL_SIZE, size);
-
+ FcPatternAddDouble (pattern, FC_PIXEL_SIZE, size);
FcPatternAddBool (pattern, FC_HINTING, waterfall->hint);
FcPatternAddBool (pattern, FC_ANTIALIAS, waterfall->antialias);
FcPatternAddBool (pattern, FC_AUTOHINT, waterfall->autohint);
FcPatternAddInteger (pattern, FC_RGBA, waterfall->rgba);
+ FcPatternAddDouble (pattern, FC_ASPECT, waterfall->aspect);
match = XftFontMatch (GDK_DISPLAY (), gdk_x11_get_default_screen (),
pattern, &result);
@@ -259,6 +258,7 @@
waterfall->antialias = TRUE;
waterfall->autohint = FALSE;
waterfall->rgba = FC_RGBA_NONE;
+ waterfall->aspect = 1.0;
waterfall->page = -1;
gtk_widget_set_events (GTK_WIDGET (waterfall), GDK_EXPOSURE_MASK);
@@ -554,3 +554,19 @@
+gdouble
+waterfall_get_aspect (Waterfall *waterfall)
+{
+ return waterfall->aspect;
+}
+
+
+void waterfall_set_aspect (Waterfall *waterfall,
+ gdouble aspect)
+{
+ if (aspect != waterfall->aspect)
+ {
+ waterfall->aspect = aspect;
+ queue_redraw (waterfall);
+ }
+}
Index: waterfall.h
===================================================================
RCS file: /local/src/CVS/gwaterfall/src/waterfall.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- waterfall.h 29 Apr 2003 02:21:45 -0000 1.3
+++ waterfall.h 29 Apr 2003 03:09:45 -0000 1.4
@@ -57,6 +57,7 @@
gboolean antialias;
gboolean autohint;
gint rgba; /* subpixel geometry */
+ gdouble aspect;
gint page;
};
@@ -103,6 +104,9 @@
gint waterfall_get_rgba (Waterfall *waterfall);
void waterfall_set_rgba (Waterfall *waterfall,
gboolean rgba);
+gdouble waterfall_get_aspect (Waterfall *waterfall);
+void waterfall_set_aspect (Waterfall *waterfall,
+ gdouble aspect);
G_END_DECLS