diff options
author | Timothy Pearson <[email protected]> | 2012-09-14 10:10:15 -0500 |
---|---|---|
committer | Timothy Pearson <[email protected]> | 2012-09-14 10:10:15 -0500 |
commit | 143c156ed8a46947ba6ddb912f2e7f2965f1908c (patch) | |
tree | c383e4af523e9294fb4c1f6b0fc8b2f2e6f50b29 /tdegtk/tdegtk-types.h | |
download | gtk3-tqt-engine-143c156ed8a46947ba6ddb912f2e7f2965f1908c.tar.gz gtk3-tqt-engine-143c156ed8a46947ba6ddb912f2e7f2965f1908c.zip |
Initial import of renamed Unico engine, ready for hacking!
Diffstat (limited to 'tdegtk/tdegtk-types.h')
-rw-r--r-- | tdegtk/tdegtk-types.h | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/tdegtk/tdegtk-types.h b/tdegtk/tdegtk-types.h new file mode 100644 index 0000000..ba280d2 --- /dev/null +++ b/tdegtk/tdegtk-types.h @@ -0,0 +1,133 @@ +/* The TdeGtk Theming Engine for Gtk+. + * Copyright (C) 2011 Canonical Ltd + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, + * MA 02110-1301, USA. + * + * Authored by Andrea Cimitan <[email protected]> + * + */ + +#ifndef TDEGTK_TYPES_H +#define TDEGTK_TYPES_H + +#define DRAW_ARGS GtkThemingEngine *engine, \ + cairo_t *cr, \ + gdouble x, \ + gdouble y, \ + gdouble width, \ + gdouble height + +G_BEGIN_DECLS + +typedef struct _GtkCssBorderCornerRadius GtkCssBorderCornerRadius; +typedef struct _GtkCssBorderRadius GtkCssBorderRadius; + +struct _GtkCssBorderCornerRadius { + gdouble horizontal; + gdouble vertical; +}; + +struct _GtkCssBorderRadius { + GtkCssBorderCornerRadius top_left; + GtkCssBorderCornerRadius top_right; + GtkCssBorderCornerRadius bottom_right; + GtkCssBorderCornerRadius bottom_left; +}; + +enum { + SIDE_LEFT = 1, + SIDE_BOTTOM = 1 << 1, + SIDE_RIGHT = 1 << 2, + SIDE_TOP = 1 << 3, + SIDE_ALL = 0xF +}; + +typedef enum +{ + TDEGTK_STYLE_DEFAULT = 0, + TDEGTK_NUM_STYLES = 1 +} TdeGtkStyles; + +typedef struct _TdeGtkStyleFunctions TdeGtkStyleFunctions; + +struct _TdeGtkStyleFunctions +{ + void (*draw_activity) (DRAW_ARGS); + + void (*draw_arrow) (GtkThemingEngine *engine, + cairo_t *cr, + gdouble angle, + gdouble x, + gdouble y, + gdouble size); + + void (*draw_cell_background) (DRAW_ARGS, + GtkRegionFlags flags); + + void (*draw_cell_frame) (DRAW_ARGS, + GtkRegionFlags flags); + + void (*draw_check) (DRAW_ARGS); + + void (*draw_common) (DRAW_ARGS); + + void (*draw_common_background) (DRAW_ARGS); + + void (*draw_common_frame) (DRAW_ARGS); + + void (*draw_expander) (DRAW_ARGS); + + void (*draw_extension) (DRAW_ARGS, + GtkPositionType gap_side); + + void (*draw_focus) (DRAW_ARGS); + + void (*draw_frame_gap) (DRAW_ARGS, + GtkPositionType gap_side, + gdouble xy0_gap, + gdouble xy1_gap); + + void (*draw_grip) (DRAW_ARGS); + + void (*draw_handle) (DRAW_ARGS); + + void (*draw_line) (GtkThemingEngine *engine, + cairo_t *cr, + gdouble x0, + gdouble y0, + gdouble x1, + gdouble y1); + + void (*draw_notebook) (DRAW_ARGS, + GtkPositionType gap_side, + gdouble xy0_gap, + gdouble xy1_gap); + + void (*draw_radio) (DRAW_ARGS); + + void (*draw_separator) (DRAW_ARGS); + + void (*draw_slider) (DRAW_ARGS, + GtkOrientation orientation); + + void (*draw_spinbutton_background) (DRAW_ARGS); + + void (*draw_spinbutton_frame) (DRAW_ARGS); +}; + +G_END_DECLS + +#endif /* TDEGTK_TYPES_H */ |