New Theme API

  • Context object
    • Proposal: Use a context object to specify context information. A context object should be populated by widgets. API to push/pull context values to any widget. This API would be responsible for collecting the context information (eg. this is a button in a combobox/treeview header). The collected data needs to be exposed to the theme somehow.

  • /Styleable interface

    • Proposal: A "Stylable" interface that any gobject could implement to provide styling functions and store theme data, including support for animations

  • /StackedDrawing

    • Proposal: The drawing information is very much decoupled from the widget. Instead a context where all the information is kept is created. This context is modified to represent the widget that is being drawn. After a widget is drawn the information is poped again (ie. similar to cairo_save/cairo_restore). All widgets inside a container are affected by the containers style, as its information is still part of the context.

  • /CSS Style theme format

    • Proposal: Create a new API to replace ?GtkStyle after the 3.x release cycle.

  • /NewAPI

    • Proposal: Create a new API to replace GtkStyle after the 3.x release cycle.

  • /Classes

    • Proposal: CSS style classes

  • /Renderer

    • Proposal: Application extendable rendering architecture

  • /Animation

    • Proposal: Animation framework for transitions and continuous animations

Projects/GTK/NewThemeApi/Proposals (last edited 2018-12-05 15:46:13 by EmmanueleBassi)