1 /* GTK - The GIMP Toolkit 2 * Copyright (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 16 */ 17 18 /* 19 * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS 20 * file for a list of people on the GTK+ Team. See the ChangeLog 21 * files for a list of changes. These files are distributed with 22 * GTK+ at ftp://ftp.gtk.org/pub/gtk/. 23 */ 24 25 #ifndef __GTK_STYLE_H__ 26 #define __GTK_STYLE_H__ 27 28 29 #if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION) 30 #error "Only <gtk/gtk.h> can be included directly." 31 #endif 32 33 #include <gdk/gdk.h> 34 #include <gtk/gtkenums.h> 35 #include <gtk/gtktypes.h> 36 37 38 G_BEGIN_DECLS 39 40 #define GTK_TYPE_STYLE (gtk_style_get_type ()) 41 #define GTK_STYLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_STYLE, GtkStyle)) 42 #define GTK_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_STYLE, GtkStyleClass)) 43 #define GTK_IS_STYLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_STYLE)) 44 #define GTK_IS_STYLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_STYLE)) 45 #define GTK_STYLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_STYLE, GtkStyleClass)) 46 47 /* Some forward declarations needed to rationalize the header 48 * files. 49 */ 50 typedef struct _GtkStyleClass GtkStyleClass; 51 typedef struct _GtkThemeEngine GtkThemeEngine; 52 typedef struct _GtkRcProperty GtkRcProperty; 53 54 /** 55 * GtkExpanderStyle: 56 * @GTK_EXPANDER_COLLAPSED: The style used for a collapsed subtree. 57 * @GTK_EXPANDER_SEMI_COLLAPSED: Intermediate style used during animation. 58 * @GTK_EXPANDER_SEMI_EXPANDED: Intermediate style used during animation. 59 * @GTK_EXPANDER_EXPANDED: The style used for an expanded subtree. 60 * 61 * Used to specify the style of the expanders drawn by a #GtkTreeView. 62 */ 63 typedef enum 64 { 65 GTK_EXPANDER_COLLAPSED, 66 GTK_EXPANDER_SEMI_COLLAPSED, 67 GTK_EXPANDER_SEMI_EXPANDED, 68 GTK_EXPANDER_EXPANDED 69 } GtkExpanderStyle; 70 71 /** 72 * GTK_STYLE_ATTACHED: 73 * @style: a #GtkStyle. 74 * 75 * Returns: whether the style is attached to a window. 76 */ 77 #define GTK_STYLE_ATTACHED(style) (GTK_STYLE (style)->attach_count > 0) 78 79 /** 80 * GtkStyle: 81 * @fg: Set of foreground #GdkColor 82 * @bg: Set of background #GdkColor 83 * @light: Set of light #GdkColor 84 * @dark: Set of dark #GdkColor 85 * @mid: Set of mid #GdkColor 86 * @text: Set of text #GdkColor 87 * @base: Set of base #GdkColor 88 * @text_aa: Color halfway between text/base 89 * @black: #GdkColor to use for black 90 * @white: #GdkColor to use for white 91 * @font_desc: #PangoFontDescription 92 * @xthickness: Thickness in X direction 93 * @ythickness: Thickness in Y direction 94 * @background: Set of background #cairo_pattern_t 95 */ 96 struct _GtkStyle 97 { 98 /*< private >*/ 99 GObject parent_instance; 100 101 /*< public >*/ 102 103 GdkColor fg[5]; 104 GdkColor bg[5]; 105 GdkColor light[5]; 106 GdkColor dark[5]; 107 GdkColor mid[5]; 108 GdkColor text[5]; 109 GdkColor base[5]; 110 GdkColor text_aa[5]; /* Halfway between text/base */ 111 112 GdkColor black; 113 GdkColor white; 114 PangoFontDescription *font_desc; 115 116 gint xthickness; 117 gint ythickness; 118 119 cairo_pattern_t *background[5]; 120 121 /*< private >*/ 122 123 gint attach_count; 124 125 GdkVisual *visual; 126 PangoFontDescription *private_font_desc; /* Font description for style->private_font or %NULL */ 127 128 /* the RcStyle from which this style was created */ 129 GtkRcStyle *rc_style; 130 131 GSList *styles; /* of type GtkStyle* */ 132 GArray *property_cache; 133 GSList *icon_factories; /* of type GtkIconFactory* */ 134 }; 135 136 /** 137 * GtkStyleClass: 138 * @parent_class: The parent class. 139 * @realize: 140 * @unrealize: 141 * @copy: 142 * @clone: 143 * @init_from_rc: 144 * @set_background: 145 * @render_icon: 146 * @draw_hline: 147 * @draw_vline: 148 * @draw_shadow: 149 * @draw_arrow: 150 * @draw_diamond: 151 * @draw_box: 152 * @draw_flat_box: 153 * @draw_check: 154 * @draw_option: 155 * @draw_tab: 156 * @draw_shadow_gap: 157 * @draw_box_gap: 158 * @draw_extension: 159 * @draw_focus: 160 * @draw_slider: 161 * @draw_handle: 162 * @draw_expander: 163 * @draw_layout: 164 * @draw_resize_grip: 165 * @draw_spinner: 166 */ 167 struct _GtkStyleClass 168 { 169 GObjectClass parent_class; 170 171 /*< public >*/ 172 173 /* Initialize for a particular visual. style->visual 174 * will have been set at this point. Will typically chain 175 * to parent. 176 */ 177 void (*realize) (GtkStyle *style); 178 179 /* Clean up for a particular visual. Will typically chain 180 * to parent. 181 */ 182 void (*unrealize) (GtkStyle *style); 183 184 /* Make style an exact duplicate of src. 185 */ 186 void (*copy) (GtkStyle *style, 187 GtkStyle *src); 188 189 /* Create an empty style of the same type as this style. 190 * The default implementation, which does 191 * g_object_new (G_OBJECT_TYPE (style), NULL); 192 * should work in most cases. 193 */ 194 GtkStyle *(*clone) (GtkStyle *style); 195 196 /* Initialize the GtkStyle with the values in the GtkRcStyle. 197 * should chain to the parent implementation. 198 */ 199 void (*init_from_rc) (GtkStyle *style, 200 GtkRcStyle *rc_style); 201 202 void (*set_background) (GtkStyle *style, 203 GdkWindow *window, 204 GtkStateType state_type); 205 206 207 GdkPixbuf * (* render_icon) (GtkStyle *style, 208 const GtkIconSource *source, 209 GtkTextDirection direction, 210 GtkStateType state, 211 GtkIconSize size, 212 GtkWidget *widget, 213 const gchar *detail); 214 215 /* Drawing functions 216 */ 217 218 void (*draw_hline) (GtkStyle *style, 219 cairo_t *cr, 220 GtkStateType state_type, 221 GtkWidget *widget, 222 const gchar *detail, 223 gint x1, 224 gint x2, 225 gint y); 226 void (*draw_vline) (GtkStyle *style, 227 cairo_t *cr, 228 GtkStateType state_type, 229 GtkWidget *widget, 230 const gchar *detail, 231 gint y1_, 232 gint y2_, 233 gint x); 234 void (*draw_shadow) (GtkStyle *style, 235 cairo_t *cr, 236 GtkStateType state_type, 237 GtkShadowType shadow_type, 238 GtkWidget *widget, 239 const gchar *detail, 240 gint x, 241 gint y, 242 gint width, 243 gint height); 244 void (*draw_arrow) (GtkStyle *style, 245 cairo_t *cr, 246 GtkStateType state_type, 247 GtkShadowType shadow_type, 248 GtkWidget *widget, 249 const gchar *detail, 250 GtkArrowType arrow_type, 251 gboolean fill, 252 gint x, 253 gint y, 254 gint width, 255 gint height); 256 void (*draw_diamond) (GtkStyle *style, 257 cairo_t *cr, 258 GtkStateType state_type, 259 GtkShadowType shadow_type, 260 GtkWidget *widget, 261 const gchar *detail, 262 gint x, 263 gint y, 264 gint width, 265 gint height); 266 void (*draw_box) (GtkStyle *style, 267 cairo_t *cr, 268 GtkStateType state_type, 269 GtkShadowType shadow_type, 270 GtkWidget *widget, 271 const gchar *detail, 272 gint x, 273 gint y, 274 gint width, 275 gint height); 276 void (*draw_flat_box) (GtkStyle *style, 277 cairo_t *cr, 278 GtkStateType state_type, 279 GtkShadowType shadow_type, 280 GtkWidget *widget, 281 const gchar *detail, 282 gint x, 283 gint y, 284 gint width, 285 gint height); 286 void (*draw_check) (GtkStyle *style, 287 cairo_t *cr, 288 GtkStateType state_type, 289 GtkShadowType shadow_type, 290 GtkWidget *widget, 291 const gchar *detail, 292 gint x, 293 gint y, 294 gint width, 295 gint height); 296 void (*draw_option) (GtkStyle *style, 297 cairo_t *cr, 298 GtkStateType state_type, 299 GtkShadowType shadow_type, 300 GtkWidget *widget, 301 const gchar *detail, 302 gint x, 303 gint y, 304 gint width, 305 gint height); 306 void (*draw_tab) (GtkStyle *style, 307 cairo_t *cr, 308 GtkStateType state_type, 309 GtkShadowType shadow_type, 310 GtkWidget *widget, 311 const gchar *detail, 312 gint x, 313 gint y, 314 gint width, 315 gint height); 316 void (*draw_shadow_gap) (GtkStyle *style, 317 cairo_t *cr, 318 GtkStateType state_type, 319 GtkShadowType shadow_type, 320 GtkWidget *widget, 321 const gchar *detail, 322 gint x, 323 gint y, 324 gint width, 325 gint height, 326 GtkPositionType gap_side, 327 gint gap_x, 328 gint gap_width); 329 void (*draw_box_gap) (GtkStyle *style, 330 cairo_t *cr, 331 GtkStateType state_type, 332 GtkShadowType shadow_type, 333 GtkWidget *widget, 334 const gchar *detail, 335 gint x, 336 gint y, 337 gint width, 338 gint height, 339 GtkPositionType gap_side, 340 gint gap_x, 341 gint gap_width); 342 void (*draw_extension) (GtkStyle *style, 343 cairo_t *cr, 344 GtkStateType state_type, 345 GtkShadowType shadow_type, 346 GtkWidget *widget, 347 const gchar *detail, 348 gint x, 349 gint y, 350 gint width, 351 gint height, 352 GtkPositionType gap_side); 353 void (*draw_focus) (GtkStyle *style, 354 cairo_t *cr, 355 GtkStateType state_type, 356 GtkWidget *widget, 357 const gchar *detail, 358 gint x, 359 gint y, 360 gint width, 361 gint height); 362 void (*draw_slider) (GtkStyle *style, 363 cairo_t *cr, 364 GtkStateType state_type, 365 GtkShadowType shadow_type, 366 GtkWidget *widget, 367 const gchar *detail, 368 gint x, 369 gint y, 370 gint width, 371 gint height, 372 GtkOrientation orientation); 373 void (*draw_handle) (GtkStyle *style, 374 cairo_t *cr, 375 GtkStateType state_type, 376 GtkShadowType shadow_type, 377 GtkWidget *widget, 378 const gchar *detail, 379 gint x, 380 gint y, 381 gint width, 382 gint height, 383 GtkOrientation orientation); 384 385 void (*draw_expander) (GtkStyle *style, 386 cairo_t *cr, 387 GtkStateType state_type, 388 GtkWidget *widget, 389 const gchar *detail, 390 gint x, 391 gint y, 392 GtkExpanderStyle expander_style); 393 void (*draw_layout) (GtkStyle *style, 394 cairo_t *cr, 395 GtkStateType state_type, 396 gboolean use_text, 397 GtkWidget *widget, 398 const gchar *detail, 399 gint x, 400 gint y, 401 PangoLayout *layout); 402 void (*draw_resize_grip) (GtkStyle *style, 403 cairo_t *cr, 404 GtkStateType state_type, 405 GtkWidget *widget, 406 const gchar *detail, 407 GdkWindowEdge edge, 408 gint x, 409 gint y, 410 gint width, 411 gint height); 412 void (*draw_spinner) (GtkStyle *style, 413 cairo_t *cr, 414 GtkStateType state_type, 415 GtkWidget *widget, 416 const gchar *detail, 417 guint step, 418 gint x, 419 gint y, 420 gint width, 421 gint height); 422 423 /*< private >*/ 424 425 /* Padding for future expansion */ 426 void (*_gtk_reserved1) (void); 427 void (*_gtk_reserved2) (void); 428 void (*_gtk_reserved3) (void); 429 void (*_gtk_reserved4) (void); 430 void (*_gtk_reserved5) (void); 431 void (*_gtk_reserved6) (void); 432 void (*_gtk_reserved7) (void); 433 void (*_gtk_reserved8) (void); 434 void (*_gtk_reserved9) (void); 435 void (*_gtk_reserved10) (void); 436 void (*_gtk_reserved11) (void); 437 }; 438 439 GDK_DEPRECATED_IN_3_0 440 GType gtk_style_get_type (void) G_GNUC_CONST; 441 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) 442 GtkStyle* gtk_style_new (void); 443 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) 444 GtkStyle* gtk_style_copy (GtkStyle *style); 445 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) 446 GtkStyle* gtk_style_attach (GtkStyle *style, 447 GdkWindow *window); 448 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) 449 void gtk_style_detach (GtkStyle *style); 450 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) 451 void gtk_style_set_background (GtkStyle *style, 452 GdkWindow *window, 453 GtkStateType state_type); 454 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_background) 455 void gtk_style_apply_default_background (GtkStyle *style, 456 cairo_t *cr, 457 GdkWindow *window, 458 GtkStateType state_type, 459 gint x, 460 gint y, 461 gint width, 462 gint height); 463 464 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and a style class) 465 GtkIconSet* gtk_style_lookup_icon_set (GtkStyle *style, 466 const gchar *stock_id); 467 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and a style class) 468 gboolean gtk_style_lookup_color (GtkStyle *style, 469 const gchar *color_name, 470 GdkColor *color); 471 472 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_icon) 473 GdkPixbuf* gtk_style_render_icon (GtkStyle *style, 474 const GtkIconSource *source, 475 GtkTextDirection direction, 476 GtkStateType state, 477 GtkIconSize size, 478 GtkWidget *widget, 479 const gchar *detail); 480 481 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_line) 482 void gtk_paint_hline (GtkStyle *style, 483 cairo_t *cr, 484 GtkStateType state_type, 485 GtkWidget *widget, 486 const gchar *detail, 487 gint x1, 488 gint x2, 489 gint y); 490 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_line) 491 void gtk_paint_vline (GtkStyle *style, 492 cairo_t *cr, 493 GtkStateType state_type, 494 GtkWidget *widget, 495 const gchar *detail, 496 gint y1_, 497 gint y2_, 498 gint x); 499 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_background) 500 void gtk_paint_shadow (GtkStyle *style, 501 cairo_t *cr, 502 GtkStateType state_type, 503 GtkShadowType shadow_type, 504 GtkWidget *widget, 505 const gchar *detail, 506 gint x, 507 gint y, 508 gint width, 509 gint height); 510 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_arrow) 511 void gtk_paint_arrow (GtkStyle *style, 512 cairo_t *cr, 513 GtkStateType state_type, 514 GtkShadowType shadow_type, 515 GtkWidget *widget, 516 const gchar *detail, 517 GtkArrowType arrow_type, 518 gboolean fill, 519 gint x, 520 gint y, 521 gint width, 522 gint height); 523 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_icon) 524 void gtk_paint_diamond (GtkStyle *style, 525 cairo_t *cr, 526 GtkStateType state_type, 527 GtkShadowType shadow_type, 528 GtkWidget *widget, 529 const gchar *detail, 530 gint x, 531 gint y, 532 gint width, 533 gint height); 534 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_frame) 535 void gtk_paint_box (GtkStyle *style, 536 cairo_t *cr, 537 GtkStateType state_type, 538 GtkShadowType shadow_type, 539 GtkWidget *widget, 540 const gchar *detail, 541 gint x, 542 gint y, 543 gint width, 544 gint height); 545 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_background) 546 void gtk_paint_flat_box (GtkStyle *style, 547 cairo_t *cr, 548 GtkStateType state_type, 549 GtkShadowType shadow_type, 550 GtkWidget *widget, 551 const gchar *detail, 552 gint x, 553 gint y, 554 gint width, 555 gint height); 556 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_check) 557 void gtk_paint_check (GtkStyle *style, 558 cairo_t *cr, 559 GtkStateType state_type, 560 GtkShadowType shadow_type, 561 GtkWidget *widget, 562 const gchar *detail, 563 gint x, 564 gint y, 565 gint width, 566 gint height); 567 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_option) 568 void gtk_paint_option (GtkStyle *style, 569 cairo_t *cr, 570 GtkStateType state_type, 571 GtkShadowType shadow_type, 572 GtkWidget *widget, 573 const gchar *detail, 574 gint x, 575 gint y, 576 gint width, 577 gint height); 578 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_background) 579 void gtk_paint_tab (GtkStyle *style, 580 cairo_t *cr, 581 GtkStateType state_type, 582 GtkShadowType shadow_type, 583 GtkWidget *widget, 584 const gchar *detail, 585 gint x, 586 gint y, 587 gint width, 588 gint height); 589 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) 590 void gtk_paint_shadow_gap (GtkStyle *style, 591 cairo_t *cr, 592 GtkStateType state_type, 593 GtkShadowType shadow_type, 594 GtkWidget *widget, 595 const gchar *detail, 596 gint x, 597 gint y, 598 gint width, 599 gint height, 600 GtkPositionType gap_side, 601 gint gap_x, 602 gint gap_width); 603 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) 604 void gtk_paint_box_gap (GtkStyle *style, 605 cairo_t *cr, 606 GtkStateType state_type, 607 GtkShadowType shadow_type, 608 GtkWidget *widget, 609 const gchar *detail, 610 gint x, 611 gint y, 612 gint width, 613 gint height, 614 GtkPositionType gap_side, 615 gint gap_x, 616 gint gap_width); 617 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_extension) 618 void gtk_paint_extension (GtkStyle *style, 619 cairo_t *cr, 620 GtkStateType state_type, 621 GtkShadowType shadow_type, 622 GtkWidget *widget, 623 const gchar *detail, 624 gint x, 625 gint y, 626 gint width, 627 gint height, 628 GtkPositionType gap_side); 629 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_focus) 630 void gtk_paint_focus (GtkStyle *style, 631 cairo_t *cr, 632 GtkStateType state_type, 633 GtkWidget *widget, 634 const gchar *detail, 635 gint x, 636 gint y, 637 gint width, 638 gint height); 639 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_focus) 640 void gtk_paint_slider (GtkStyle *style, 641 cairo_t *cr, 642 GtkStateType state_type, 643 GtkShadowType shadow_type, 644 GtkWidget *widget, 645 const gchar *detail, 646 gint x, 647 gint y, 648 gint width, 649 gint height, 650 GtkOrientation orientation); 651 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_handle) 652 void gtk_paint_handle (GtkStyle *style, 653 cairo_t *cr, 654 GtkStateType state_type, 655 GtkShadowType shadow_type, 656 GtkWidget *widget, 657 const gchar *detail, 658 gint x, 659 gint y, 660 gint width, 661 gint height, 662 GtkOrientation orientation); 663 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_expander) 664 void gtk_paint_expander (GtkStyle *style, 665 cairo_t *cr, 666 GtkStateType state_type, 667 GtkWidget *widget, 668 const gchar *detail, 669 gint x, 670 gint y, 671 GtkExpanderStyle expander_style); 672 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_layout) 673 void gtk_paint_layout (GtkStyle *style, 674 cairo_t *cr, 675 GtkStateType state_type, 676 gboolean use_text, 677 GtkWidget *widget, 678 const gchar *detail, 679 gint x, 680 gint y, 681 PangoLayout *layout); 682 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_handle) 683 void gtk_paint_resize_grip (GtkStyle *style, 684 cairo_t *cr, 685 GtkStateType state_type, 686 GtkWidget *widget, 687 const gchar *detail, 688 GdkWindowEdge edge, 689 gint x, 690 gint y, 691 gint width, 692 gint height); 693 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_render_icon) 694 void gtk_paint_spinner (GtkStyle *style, 695 cairo_t *cr, 696 GtkStateType state_type, 697 GtkWidget *widget, 698 const gchar *detail, 699 guint step, 700 gint x, 701 gint y, 702 gint width, 703 gint height); 704 705 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_style_context_get_property) 706 void gtk_style_get_style_property (GtkStyle *style, 707 GType widget_type, 708 const gchar *property_name, 709 GValue *value); 710 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_style_context_get_property) 711 void gtk_style_get_valist (GtkStyle *style, 712 GType widget_type, 713 const gchar *first_property_name, 714 va_list var_args); 715 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext and gtk_style_context_get_property) 716 void gtk_style_get (GtkStyle *style, 717 GType widget_type, 718 const gchar *first_property_name, 719 ...) G_GNUC_NULL_TERMINATED; 720 721 722 /* --- private API --- */ 723 GtkStyle* _gtk_style_new_for_path (GdkScreen *screen, 724 GtkWidgetPath *path); 725 void _gtk_style_shade (const GdkColor *a, 726 GdkColor *b, 727 gdouble k); 728 729 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) 730 gboolean gtk_style_has_context (GtkStyle *style); 731 732 GDK_DEPRECATED_IN_3_0 733 void gtk_widget_style_attach (GtkWidget *widget); 734 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) 735 gboolean gtk_widget_has_rc_style (GtkWidget *widget); 736 GDK_DEPRECATED_IN_3_0 737 void gtk_widget_set_style (GtkWidget *widget, 738 GtkStyle *style); 739 GDK_DEPRECATED_IN_3_0 740 void gtk_widget_ensure_style (GtkWidget *widget); 741 GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_get_style_context) 742 GtkStyle * gtk_widget_get_style (GtkWidget *widget); 743 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) 744 void gtk_widget_modify_style (GtkWidget *widget, 745 GtkRcStyle *style); 746 GDK_DEPRECATED_IN_3_0_FOR(GtkStyleContext) 747 GtkRcStyle *gtk_widget_get_modifier_style (GtkWidget *widget); 748 GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_override_color) 749 void gtk_widget_modify_fg (GtkWidget *widget, 750 GtkStateType state, 751 const GdkColor *color); 752 GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_override_background_color) 753 void gtk_widget_modify_bg (GtkWidget *widget, 754 GtkStateType state, 755 const GdkColor *color); 756 GDK_DEPRECATED_IN_3_0_FOR(CSS style classes) 757 void gtk_widget_modify_text (GtkWidget *widget, 758 GtkStateType state, 759 const GdkColor *color); 760 GDK_DEPRECATED_IN_3_0_FOR(CSS style classes) 761 void gtk_widget_modify_base (GtkWidget *widget, 762 GtkStateType state, 763 const GdkColor *color); 764 GDK_DEPRECATED_IN_3_0_FOR(CSS style classes) 765 void gtk_widget_modify_cursor (GtkWidget *widget, 766 const GdkColor *primary, 767 const GdkColor *secondary); 768 GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_override_font) 769 void gtk_widget_modify_font (GtkWidget *widget, 770 PangoFontDescription *font_desc); 771 GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_reset_style) 772 void gtk_widget_reset_rc_styles (GtkWidget *widget); 773 GDK_DEPRECATED_IN_3_0_FOR(gtk_style_context_new) 774 GtkStyle* gtk_widget_get_default_style (void); 775 GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_get_path) 776 void gtk_widget_path (GtkWidget *widget, 777 guint *path_length, 778 gchar **path, 779 gchar **path_reversed); 780 GDK_DEPRECATED_IN_3_0 781 void gtk_widget_class_path (GtkWidget *widget, 782 guint *path_length, 783 gchar **path, 784 gchar **path_reversed); 785 GDK_DEPRECATED_IN_3_0_FOR(gtk_widget_render_icon_pixbuf) 786 GdkPixbuf *gtk_widget_render_icon (GtkWidget *widget, 787 const gchar *stock_id, 788 GtkIconSize size, 789 const gchar *detail); 790 791 G_END_DECLS 792 793 #endif /* __GTK_STYLE_H__ */ 794