X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/69aa257b8391b5c05d5ba70f0587c696347b048a..92c0fc34c104c8d7c12d6a3b78ea232690fc23f4:/interface/wx/ribbon/art.h?ds=inline diff --git a/interface/wx/ribbon/art.h b/interface/wx/ribbon/art.h index c08e5b3cc4..40a4768297 100644 --- a/interface/wx/ribbon/art.h +++ b/interface/wx/ribbon/art.h @@ -2,7 +2,6 @@ // Name: ribbon/art.h // Purpose: interface of wxRibbonArtProvider // Author: Peter Cawley -// RCS-ID: $Id$ // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// @@ -35,6 +34,8 @@ enum wxRibbonArtSetting wxRIBBON_ART_BUTTON_BAR_LABEL_FONT, wxRIBBON_ART_TAB_LABEL_FONT, wxRIBBON_ART_BUTTON_BAR_LABEL_COLOUR, + /// @since 2.9.5 + wxRIBBON_ART_BUTTON_BAR_LABEL_DISABLED_COLOUR, wxRIBBON_ART_BUTTON_BAR_HOVER_BORDER_COLOUR, wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_COLOUR, wxRIBBON_ART_BUTTON_BAR_HOVER_BACKGROUND_TOP_GRADIENT_COLOUR, @@ -174,6 +175,12 @@ enum wxRibbonButtonKind menu, and one which causes a generic action. */ wxRIBBON_BUTTON_HYBRID = wxRIBBON_BUTTON_NORMAL | wxRIBBON_BUTTON_DROPDOWN, + + /** + Normal button or tool with a clickable area which toggles the button + between a pressed and unpressed state. + */ + wxRIBBON_BUTTON_TOGGLE = 1 << 2 }; /** @@ -263,7 +270,7 @@ public: /** Set the value of a certain colour setting to the value @e colour. @a id can be one of the colour values of @ref wxRibbonArtSetting, though - not all colour settings will have an affect on every art provider. + not all colour settings will have an effect on every art provider. @see SetColourScheme() */ @@ -295,7 +302,7 @@ public: default colours of the art provider. Note that if SetColour() is called, then GetColourScheme() does not try and return a colour scheme similar to colours being used - it's return - values are dependant upon the last values given to SetColourScheme(), + values are dependent upon the last values given to SetColourScheme(), as described above. @param[out] primary @@ -449,7 +456,7 @@ public: /** Draw the background and chrome for a wxRibbonGallery control. This - should draw the border, brackground, scroll buttons, extension button, + should draw the border, background, scroll buttons, extension button, and any other UI elements which are not attached to a specific gallery item. @@ -655,6 +662,47 @@ public: wxRibbonButtonKind kind, long state) = 0; + /** + Draw toggle button on wxRibbonBar. This should draw a small toggle button + at top right corner of ribbon bar. + + @param dc + The device context to draw onto. + @param wnd + The window which is being drawn onto, which is always the panel + whose background and chrome is being drawn. The panel label and + other panel attributes can be obtained by querying this. + @param rect + The rectangle within which to draw. + @param mode + The wxRibbonDisplayMode which should be applied to display button + + @since 2.9.5 + */ + virtual void DrawToggleButton(wxDC& dc, + wxRibbonBar* wnd, + const wxRect& rect, + wxRibbonDisplayMode mode) = 0; + + /** + Draw help button on wxRibbonBar. This should draw a help button + at top right corner of ribbon bar. + + @param dc + The device context to draw onto. + @param wnd + The window which is being drawn onto, which is always the panel + whose background and chrome is being drawn. The panel label and + other panel attributes can be obtained by querying this. + @param rect + The rectangle within which to draw. + + @since 2.9.5 + */ + virtual void DrawHelpButton(wxDC& dc, + wxRibbonBar* wnd, + const wxRect& rect) = 0; + /** Calculate the ideal and minimum width (in pixels) of a tab in a ribbon bar. @@ -770,7 +818,24 @@ public: const wxRibbonPanel* wnd, wxSize size, wxPoint* client_offset) = 0; - + + /** + Calculate the position and size of the panel extension button. + + @param dc + A device context to use if one is required for size calculations. + @param wnd + The ribbon panel in question. + @param rect + The panel rectangle from which calculate extension button rectangle. + + @since 2.9.4 + */ + virtual wxRect GetPanelExtButtonArea( + wxDC& dc, + const wxRibbonPanel* wnd, + wxRect rect) = 0; + /** Calculate the size of a wxRibbonGallery control for a given client size. This should increment the given size by enough to fit the gallery @@ -827,7 +892,7 @@ public: /** Calculate the portion of a page background which needs to be redrawn when a page is resized. To optimise the drawing of page backgrounds, as - small an area as possible should be returned. Of couse, if the way in + small an area as possible should be returned. Of course, if the way in which a background is drawn means that the entire background needs to be repainted on resize, then the entire new size should be returned. @@ -938,4 +1003,24 @@ public: bool is_first, bool is_last, wxRect* dropdown_region) = 0; + + /** + Calculate the position and size of the ribbon's toggle button. + + @param rect + The ribbon bar rectangle from which calculate toggle button rectangle. + + @since 2.9.5 + */ + virtual wxRect GetBarToggleButtonArea(const wxRect& rect) = 0; + + /** + Calculate the position and size of the ribbon's help button. + + @param rect + The ribbon bar rectangle from which calculate help button rectangle. + + @since 2.9.5 + */ + virtual wxRect GetRibbonHelpButtonArea(const wxRect& rect) = 0; };