diff options
author | Timothy Pearson <[email protected]> | 2012-11-19 16:10:26 -0600 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2012-11-19 16:10:26 -0600 |
commit | c54dc20a17c4f437842939fba3d8af8b495a69da (patch) | |
tree | 61b63cfad57f945b1b809f308d50666b2223c3e7 /tdegtk | |
parent | 77b8059cbf4ba97c20f7dfa8945f6f7ac6c6d533 (diff) | |
download | gtk3-tqt-engine-c54dc20a17c4f437842939fba3d8af8b495a69da.tar.gz gtk3-tqt-engine-c54dc20a17c4f437842939fba3d8af8b495a69da.zip |
Code cleanup
Diffstat (limited to 'tdegtk')
-rw-r--r-- | tdegtk/tdegtk-draw.cpp | 220 |
1 files changed, 122 insertions, 98 deletions
diff --git a/tdegtk/tdegtk-draw.cpp b/tdegtk/tdegtk-draw.cpp index 741eb1c..fe03272 100644 --- a/tdegtk/tdegtk-draw.cpp +++ b/tdegtk/tdegtk-draw.cpp @@ -908,42 +908,43 @@ draw_centroid_texture (GtkThemingEngine *engine, gdouble width, gdouble height) { - GtkStateFlags state; - GValue value = { 0, }; - cairo_pattern_t *texture = NULL; - cairo_surface_t *surface = NULL; - gboolean retval = FALSE; - - state = gtk_theming_engine_get_state (engine); - - gtk_theming_engine_get_property (engine, "-tdegtk-centroid-texture", state, &value); - - if (!G_VALUE_HOLDS_BOXED (&value)) - return FALSE; - - texture = (cairo_pattern_t*)g_value_dup_boxed (&value); - g_value_unset (&value); - - if (texture != NULL) - cairo_pattern_get_surface (texture, &surface); - - if (surface != NULL) - { - cairo_save (cr); - - cairo_set_source_surface (cr, surface, (gint) (x + width / 2 - cairo_image_surface_get_width (surface) / 2), - (gint) (y + height / 2 - cairo_image_surface_get_height (surface) / 2)); - cairo_paint (cr); - - cairo_restore (cr); - - retval = TRUE; - } - - if (texture != NULL) - cairo_pattern_destroy (texture); - - return retval; + GtkStateFlags state; + GValue value = { 0, }; + cairo_pattern_t *texture = NULL; + cairo_surface_t *surface = NULL; + gboolean retval = FALSE; + + state = gtk_theming_engine_get_state (engine); + + gtk_theming_engine_get_property (engine, "-tdegtk-centroid-texture", state, &value); + + if (!G_VALUE_HOLDS_BOXED (&value)) { + return FALSE; + } + + texture = (cairo_pattern_t*)g_value_dup_boxed (&value); + g_value_unset (&value); + + if (texture != NULL) { + cairo_pattern_get_surface (texture, &surface); + } + + if (surface != NULL) { + cairo_save (cr); + + cairo_set_source_surface (cr, surface, (gint) (x + width / 2 - cairo_image_surface_get_width (surface) / 2), (gint) (y + height / 2 - cairo_image_surface_get_height (surface) / 2)); + cairo_paint (cr); + + cairo_restore (cr); + + retval = TRUE; + } + + if (texture != NULL) { + cairo_pattern_destroy (texture); + } + + return retval; } static void @@ -1226,8 +1227,8 @@ tdegtk_draw_cell_frame (DRAW_ARGS, state = gtk_theming_engine_get_state(engine); widget = m_widgetLookup.find(cr, path); -#if 0 if (gtk_widget_path_is_type(path, GTK_TYPE_TREE_VIEW)) { +#if 0 TQStringList objectTypes; objectTypes.append(TQLISTVIEW_OBJECT_NAME_STRING); TQPalette objectPalette = tqApp->palette(objectTypes); @@ -1251,13 +1252,13 @@ tdegtk_draw_cell_frame (DRAW_ARGS, // Draw item tqApp->style().drawComplexControl(TQStyle::CC_ListView, &p, ceData, elementFlags, boundingRect, gtkToTQtColorGroup(engine, state), gtkToTQtStyleFlags(engine, state, TQT3WT_NONE, widget), TQStyle::SC_ListView, TQStyle::SC_All, listViewItemOpt); +#endif } else { DEBUG_FILL_BACKGROUND_WITH_COLOR(p,255,64,64); printf("[WARNING] tdegtk_draw_cell_background() nonfunctional for widget with path '%s'\n\r", gtk_widget_path_to_string (gtk_theming_engine_get_path(engine))); fflush(stdout); } -#endif p.end(); } @@ -1294,6 +1295,7 @@ tdegtk_draw_common (DRAW_ARGS) TQPainter p(&pd); DEBUG_FILL_BACKGROUND_WITH_COLOR(p,0,255,255); + printf("[WARNING] tdegtk_draw_common() nonfunctional for widget with path '%s'\n\r", gtk_widget_path_to_string (gtk_theming_engine_get_path(engine))); fflush(stdout); GtkStateFlags state; state = gtk_theming_engine_get_state(engine); @@ -1632,8 +1634,11 @@ tdegtk_draw_common_background (DRAW_ARGS) // Where is this widget actually used? } - else if ((gtk_theming_engine_has_class(engine, GTK_STYLE_CLASS_BACKGROUND)) - || (gtk_widget_path_is_type(path, GTK_TYPE_EXPANDER)) + else if (gtk_theming_engine_has_class(engine, GTK_STYLE_CLASS_BACKGROUND)) { + // Do nothing + } + + else if ((gtk_widget_path_is_type(path, GTK_TYPE_EXPANDER)) || (gtk_widget_path_is_type(path, GTK_TYPE_BOX)) || (gtk_widget_path_is_type(path, GTK_TYPE_VIEWPORT)) || (gtk_widget_path_is_type(path, GTK_TYPE_SCROLLED_WINDOW)) @@ -1890,7 +1895,6 @@ tdegtk_draw_common_frame (DRAW_ARGS) else if ((gtk_theming_engine_has_class(engine, GTK_STYLE_CLASS_BACKGROUND)) || (Gtk::gtk_widget_path_has_type(path, GTK_TYPE_BOX)) || (Gtk::gtk_widget_path_has_type(path, GTK_TYPE_EXPANDER)) - || (Gtk::gtk_widget_path_has_type(path, GTK_TYPE_BOX)) || (Gtk::gtk_widget_path_has_type(path, GTK_TYPE_VIEWPORT)) || (Gtk::gtk_widget_path_has_type(path, GTK_TYPE_SCROLLED_WINDOW)) || (Gtk::gtk_widget_path_has_type(path, GTK_TYPE_PANED)) @@ -1912,44 +1916,64 @@ tdegtk_draw_common_frame (DRAW_ARGS) static void tdegtk_draw_expander (DRAW_ARGS) { - GtkStateFlags state; - GdkRGBA color; - gint size; - gdouble angle = G_PI_2; - - state = gtk_theming_engine_get_state (engine); - - gtk_theming_engine_get_color (engine, state, &color); - - cairo_save (cr); - - /* use floor function to adjust doubles */ - size = floor (MIN (width, height)); - - x += (gint) (width / 2) - size / 2; - y += (gint) (height / 2) - size / 2; - - if ((state & GTK_STATE_FLAG_ACTIVE) == 0) - angle = 0; - - cairo_translate (cr, x + size / 2.0 + 0.5, y + size / 2.0 + 0.5); - cairo_rotate (cr, angle); - cairo_translate (cr, size / 4.0, 0); +#if 0 + // FIXME + TQRect boundingRect(0, 0, width, height); + TQt3CairoPaintDevice pd(NULL, x, y, width, height, cr); + TQPainter p(&pd); - /* FIXME this + 1/- 1 is done to fix blurred diagonal lines. - * I know it's not nice at all, but it fix a visual bug */ - cairo_move_to (cr, - size / 2.0, - size / 2.0); - cairo_rel_line_to (cr, size / 2.0 + 1, size / 2.0); - cairo_rel_line_to (cr, - size / 2.0 - 1, size / 2.0); - cairo_close_path (cr); + const GtkWidgetPath* path; + GtkStateFlags state; + GtkWidget* widget; - cairo_set_source_rgba (cr, color.red, color.green, color.blue, color.alpha * 0.75); - cairo_fill_preserve (cr); + path = gtk_theming_engine_get_path(engine); + state = gtk_theming_engine_get_state(engine); + widget = m_widgetLookup.find(cr, path); - gdk_cairo_set_source_rgba (cr, &color); - cairo_stroke (cr); + DEBUG_FILL_BACKGROUND_WITH_COLOR(p,255,255,0); + printf("[WARNING] tdegtk_draw_expander() nonfunctional for widget with path '%s'\n\r", gtk_widget_path_to_string (gtk_theming_engine_get_path(engine))); fflush(stdout); - cairo_restore (cr); + p.end(); +#else + GtkStateFlags state; + GdkRGBA color; + gint size; + gdouble angle = G_PI_2; + + state = gtk_theming_engine_get_state (engine); + + gtk_theming_engine_get_color (engine, state, &color); + + cairo_save (cr); + + /* use floor function to adjust doubles */ + size = floor (MIN (width, height)); + + x += (gint) (width / 2) - size / 2; + y += (gint) (height / 2) - size / 2; + + if ((state & GTK_STATE_FLAG_ACTIVE) == 0) + angle = 0; + + cairo_translate (cr, x + size / 2.0 + 0.5, y + size / 2.0 + 0.5); + cairo_rotate (cr, angle); + cairo_translate (cr, size / 4.0, 0); + + /* FIXME this + 1/- 1 is done to fix blurred diagonal lines. + * I know it's not nice at all, but it fix a visual bug */ + cairo_move_to (cr, - size / 2.0, - size / 2.0); + cairo_rel_line_to (cr, size / 2.0 + 1, size / 2.0); + cairo_rel_line_to (cr, - size / 2.0 - 1, size / 2.0); + cairo_close_path (cr); + + cairo_set_source_rgba (cr, color.red, color.green, color.blue, color.alpha * 0.75); + cairo_fill_preserve (cr); + + gdk_cairo_set_source_rgba (cr, &color); + cairo_stroke (cr); + + cairo_restore (cr); +#endif } static void @@ -2642,27 +2666,27 @@ tdegtk_draw_spinbutton_frame (DRAW_ARGS) void tdegtk_register_style_default (TdeGtkStyleFunctions *functions) { - g_assert (functions); - - functions->draw_activity = tdegtk_draw_activity; - functions->draw_arrow = tdegtk_draw_arrow; - functions->draw_cell_background = tdegtk_draw_cell_background; - functions->draw_cell_frame = tdegtk_draw_cell_frame; - functions->draw_check = tdegtk_draw_check; - functions->draw_common = tdegtk_draw_common; - functions->draw_common_background = tdegtk_draw_common_background; - functions->draw_common_frame = tdegtk_draw_common_frame; - functions->draw_expander = tdegtk_draw_expander; - functions->draw_extension = tdegtk_draw_extension; - functions->draw_focus = tdegtk_draw_focus; - functions->draw_frame_gap = tdegtk_draw_frame_gap; - functions->draw_grip = tdegtk_draw_grip; - functions->draw_handle = tdegtk_draw_handle; - functions->draw_line = tdegtk_draw_line; - functions->draw_notebook = tdegtk_draw_notebook; - functions->draw_radio = tdegtk_draw_radio; - functions->draw_separator = tdegtk_draw_separator; - functions->draw_slider = tdegtk_draw_slider; - functions->draw_spinbutton_background = tdegtk_draw_spinbutton_background; - functions->draw_spinbutton_frame = tdegtk_draw_spinbutton_frame; + g_assert (functions); + + functions->draw_activity = tdegtk_draw_activity; + functions->draw_arrow = tdegtk_draw_arrow; + functions->draw_cell_background = tdegtk_draw_cell_background; + functions->draw_cell_frame = tdegtk_draw_cell_frame; + functions->draw_check = tdegtk_draw_check; + functions->draw_common = tdegtk_draw_common; + functions->draw_common_background = tdegtk_draw_common_background; + functions->draw_common_frame = tdegtk_draw_common_frame; + functions->draw_expander = tdegtk_draw_expander; + functions->draw_extension = tdegtk_draw_extension; + functions->draw_focus = tdegtk_draw_focus; + functions->draw_frame_gap = tdegtk_draw_frame_gap; + functions->draw_grip = tdegtk_draw_grip; + functions->draw_handle = tdegtk_draw_handle; + functions->draw_line = tdegtk_draw_line; + functions->draw_notebook = tdegtk_draw_notebook; + functions->draw_radio = tdegtk_draw_radio; + functions->draw_separator = tdegtk_draw_separator; + functions->draw_slider = tdegtk_draw_slider; + functions->draw_spinbutton_background = tdegtk_draw_spinbutton_background; + functions->draw_spinbutton_frame = tdegtk_draw_spinbutton_frame; } |