Phoenix Logo

phoenix_title wx.lib.agw.artmanager.ArtManager

This class provides various art utilities, such as creating shadow, providing lighter / darker colours for a given colour, etc...


class_hierarchy Class Hierarchy

Inheritance diagram for class ArtManager:

super_classes Known Superclasses

wx.EvtHandler


method_summary Methods Summary

__init__ Default class constructor.
AddMenuTheme Adds a new theme to the stock.
BackgroundColour Returns the background colour of a control when not in focus.
CalcButtonBestSize Returns the best fit size for the supplied label & bitmap.
CanMakeWindowsTransparent Used internally.
ConvertToBitmap Convert the given image to a bitmap, optionally overlaying an alpha
CreateGreyBitmap Creates a grey bitmap image from the input bitmap.
DarkColour Like the LightColour function, but create the colour darker by percent.
DrawBitmapShadow Draws a shadow using background bitmap.
DrawButton Colour rectangle according to the theme.
DrawButtonColour Draws a button using the appropriate theme.
DrawButtonTheme Draws a button using the appropriate theme.
DrawDragSash Draws resize sash.
DrawMenuBarBg Draws the menu bar background according to the active theme.
DrawMenuBarBorder Enables menu border drawing (XP style only).
DrawTextAndBitmap Draws the text & bitmap on the input dc.
DrawToolBarBg Draws the toolbar background according to the active theme.
DropShadow Adds a shadow under the window (Windows only).
FillStockBitmaps Initializes few standard bitmaps.
FrameColour Return the surrounding colour for a control.
Free Destructor for the unique art manager object.
Get Accessor to the unique art manager object.
GetAccelIndex Returns the mnemonic index of the label and the label stripped of the ampersand mnemonic
GetAlignBuffer Return the padding buffer for a text or bitmap.
GetBitmapStartLocation Returns the top left x and y cordinates of the bitmap drawing.
GetColourSchemes Returns the available colour schemes.
GetFont Returns the font used by this theme.
GetMBVerticalGradient Returns True if the menu bar should be painted with vertical gradient.
GetMenuBarBorder Returns menu bar border drawing flag.
GetMenuBarColourScheme Returns the current colour scheme.
GetMenuBarFaceColour Returns the menu bar face colour.
GetMenuBarSelectionColour Returns the menu bar selection colour.
GetMenuBgFactor Gets the visibility depth of the menu in Metallic style.
GetMenuFaceColour Returns the colour used for the menu foreground.
GetMenuTheme Returns the currently used menu theme.
GetMS2007ButtonSunken Returns the sunken flag for MS 2007 buttons.
GetRaiseToolbar Returns True if we are dropping a shadow under a toolbar.
GetStockBitmap Returns a bitmap from a stock.
GetTextColourDisable Returns the colour used for disabled menu items.
GetTextColourEnable Returns the colour used for enabled menu items.
GetTextStartLocation Returns the top left x and y cordinates of the text drawing.
GetThemeBaseColour Returns the theme (Blue, Silver, Green etc.) base colour, if no theme is active
GetTransparency Returns the alpha channel value for transparent windows.
HighlightBackgroundColour Returns the background colour of a control when it is in focus.
InitColours Initialise the colour map.
Initialize Initializes the bitmaps and colours.
IsDark Returns whether a colour is dark or light.
LightColour Return light contrast of colour. The colour returned is from the scale of
MakeWindowTransparent Used internally. Makes a toplevel window transparent if the system supports it.
MixColours Return mix of input colours.
OnSysColourChange Handles the wx.EVT_SYS_COLOUR_CHANGED event for ArtManager.
PaintCrescentGradientBox Paint a region with gradient colouring. The gradient is in crescent shape
PaintDiagonalGradientBox Paint rectangle with gradient colouring; the gradient lines are diagonal
PaintGradientRegion Paint a region with gradient colouring.
PaintStraightGradientBox Paint the rectangle with gradient colouring; the gradient lines are either
RandomColour Creates a random colour.
SetMBVerticalGradient Sets the menu bar gradient style.
SetMenuBarColour Sets the menu bar colour scheme to use.
SetMenuTheme Set the menu theme, possible values (Style2007, StyleXP, StyleVista).
SetMS2007ButtonSunken Sets MS 2007 button style sunken or not.
SetRaiseToolbar Enables/disables toobar shadow drop.
SetTransparency Sets the alpha channel value for transparent windows.
TakeScreenShot Takes a screenshot of the screen at given position & size (rect).
TruncateText Truncates a given string to fit given width size. if the text does not fit

api Class API



class ArtManager(wx.EvtHandler)

This class provides various art utilities, such as creating shadow, providing lighter / darker colours for a given colour, etc...


Methods



__init__(self)

Default class constructor.



AddMenuTheme(self, render)

Adds a new theme to the stock.

Parameters:render – a rendering theme class, which must be derived from RendererBase.
Returns:An integer representing the size of the renderers dictionary.


BackgroundColour(self)

Returns the background colour of a control when not in focus.

Returns:An instance of wx.Colour.


CalcButtonBestSize(self, label, bmp)

Returns the best fit size for the supplied label & bitmap.

Parameters:
  • label (string) – the button label;
  • bmp – the bitmap associated with the button, an instance of wx.Bitmap.
Returns:

An instance of wx.Size, representing the best fit size for the supplied label & bitmap.



CanMakeWindowsTransparent(self)

Used internally.

Returns:True if the system supports transparency of toplevel windows, otherwise returns False.


ConvertToBitmap(self, xpm, alpha=None)

Convert the given image to a bitmap, optionally overlaying an alpha channel to it.

Parameters:
  • xpm (list of strings) – a list of strings formatted as XPM;
  • alpha (list of integers) – a list of alpha values, the same size as the xpm bitmap.
Returns:

An instance of wx.Bitmap.



CreateGreyBitmap(self, bmp)

Creates a grey bitmap image from the input bitmap.

Parameters:bmp – a valid wx.Bitmap object to be greyed out.
Returns:A greyed-out representation of the input bitmap, an instance of wx.Bitmap.


DarkColour(self, colour, percent)

Like the LightColour function, but create the colour darker by percent.

Parameters:
  • colour – the input colour to be darkened, an instance of wx.Colour;
  • percent (integer) – determines how dark the colour will be. percent = 100 returns black, percent = 0 returns colour.
Returns:

A dark contrast of the input colour, an instance of wx.Colour.



DrawBitmapShadow(self, dc, rect, where=BottomShadow|RightShadow)

Draws a shadow using background bitmap.

Parameters:
  • dc – an instance of wx.DC;
  • rect (wx.Rect) – the bitmap’s client rectangle;
  • where (integer) – where to draw the shadow. This can be any combination of the following bits:
    Shadow Settings Value Description
    RightShadow 1 Right side shadow
    BottomShadow 2 Not full bottom shadow
    BottomShadowFull 4 Full bottom shadow


DrawButton(self, dc, rect, theme, state, input=None)

Colour rectangle according to the theme.

Parameters:
  • dc – an instance of wx.DC;
  • rect (wx.Rect) – the rectangle to be filled with gradient shading;
  • theme (string) – the theme to use to draw the button;
  • state (integer) – the button state;
  • input – a flag used to call the right method.


DrawButtonColour(self, dc, rect, theme, state, colour)

Draws a button using the appropriate theme.

Parameters:
  • dc – an instance of wx.DC;
  • rect (wx.Rect) – the button’s client rectangle;
  • theme (string) – the theme to use to draw the button;
  • state (integer) – the button state;
  • colour – a valid wx.Colour instance.


DrawButtonTheme(self, dc, rect, theme, state, useLightColours=True)

Draws a button using the appropriate theme.

Parameters:
  • dc – an instance of wx.DC;
  • rect (wx.Rect) – the button’s client rectangle;
  • theme (string) – the theme to use to draw the button;
  • state (integer) – the button state;
  • useLightColours (bool) – True to use light colours, False otherwise.


DrawDragSash(self, rect)

Draws resize sash.

Parameters:rect (wx.Rect) – the sash client rectangle.


DrawMenuBarBg(self, dc, rect)

Draws the menu bar background according to the active theme.

Parameters:
  • dc – an instance of wx.DC;
  • rect (wx.Rect) – the menubar’s client rectangle.


DrawMenuBarBorder(self, border)

Enables menu border drawing (XP style only).

Parameters:border (bool) – True to draw the menubar border, False otherwise.


DrawTextAndBitmap(self, dc, rect, text, enable=True, font=wx.NullFont, fontColour=wx.BLACK, bitmap=wx.NullBitmap, grayBitmap=wx.NullBitmap, style=0)

Draws the text & bitmap on the input dc.

Parameters:
  • dc – an instance of wx.DC;
  • rect (wx.Rect) – the text and bitmap client rectangle;
  • text (string) – the button label;
  • enable (bool) – True if the button is enabled, False otherwise;
  • font – the font to use to draw the text, an instance of wx.Font;
  • fontColour – the colour to use to draw the text, an instance of wx.Colour;
  • bitmap – the bitmap associated with the button, an instance of wx.Bitmap;
  • grayBitmap – a greyed-out version of the input bitmap representing a disabled bitmap, an instance of wx.Bitmap;
  • style (integer) – the button style.

See also

GetBitmapStartLocation for a list of valid button styles.



DrawToolBarBg(self, dc, rect)

Draws the toolbar background according to the active theme.

Parameters:
  • dc – an instance of wx.DC;
  • rect (wx.Rect) – the toolbar’s client rectangle.


DropShadow(self, wnd, drop=True)

Adds a shadow under the window (Windows only).

Parameters:
  • wnd – the window for which we are dropping a shadow, an instance of TopLevelWindow;
  • drop (bool) – True to drop a shadow, False to remove it.


FillStockBitmaps(self)

Initializes few standard bitmaps.



FrameColour(self)

Return the surrounding colour for a control.

Returns:An instance of wx.Colour.


classmethod Free(self)

Destructor for the unique art manager object.



classmethod Get(self)

Accessor to the unique art manager object.

Returns:A unique instance of ArtManager.


GetAccelIndex(self, label)

Returns the mnemonic index of the label and the label stripped of the ampersand mnemonic (e.g. ‘lab&el’ ==> will result in 3 and labelOnly = label).

Parameters:label (string) – a string containining an ampersand.
Returns:A tuple containining the mnemonic index of the label and the label stripped of the ampersand mnemonic.


GetAlignBuffer(self)

Return the padding buffer for a text or bitmap.

Returns:An integer representing the padding buffer.


GetBitmapStartLocation(self, dc, rect, bitmap, text="", style=0)

Returns the top left x and y cordinates of the bitmap drawing.

Parameters:
  • dc – an instance of wx.DC;
  • rect (wx.Rect) – the bitmap’s client rectangle;
  • bitmap (wx.Bitmap) – the bitmap associated with the button;
  • text (string) – the button label;
  • style (integer) – the button style. This can be one of the following bits:
    Button style Value Description
    BU_EXT_XP_STYLE 1 A button with a XP style
    BU_EXT_2007_STYLE 2 A button with a MS Office 2007 style
    BU_EXT_LEFT_ALIGN_STYLE 4 A left-aligned button
    BU_EXT_CENTER_ALIGN_STYLE 8 A center-aligned button
    BU_EXT_RIGHT_ALIGN_STYLE 16 A right-aligned button
    BU_EXT_RIGHT_TO_LEFT_STYLE 32 A button suitable for right-to-left languages
Returns:

A tuple containining the top left x and y cordinates of the bitmap drawing.



GetColourSchemes(self)

Returns the available colour schemes.

Returns:A list of strings representing the available colour schemes.


GetFont(self)

Returns the font used by this theme.

Returns:An instance of wx.Font.


GetMBVerticalGradient(self)

Returns True if the menu bar should be painted with vertical gradient.



GetMenuBarBorder(self)

Returns menu bar border drawing flag.

Returns:True if the menu bar border is to be drawn, False otherwise.


GetMenuBarColourScheme(self)

Returns the current colour scheme.

Returns:A string representing the current colour scheme.


GetMenuBarFaceColour(self)

Returns the menu bar face colour.

Returns:An instance of wx.Colour.


GetMenuBarSelectionColour(self)

Returns the menu bar selection colour.

Returns:An instance of wx.Colour.


GetMenuBgFactor(self)

Gets the visibility depth of the menu in Metallic style. The higher the value, the menu bar will look more raised



GetMenuFaceColour(self)

Returns the colour used for the menu foreground.

Returns:An instance of wx.Colour.


GetMenuTheme(self)

Returns the currently used menu theme.

Returns:A string containining the currently used theme for the menu.


GetMS2007ButtonSunken(self)

Returns the sunken flag for MS 2007 buttons.

Returns:True if the MS 2007 buttons are sunken, False otherwise.


GetRaiseToolbar(self)

Returns True if we are dropping a shadow under a toolbar.



GetStockBitmap(self, name)

Returns a bitmap from a stock.

Parameters:name (string) – the bitmap name.
Returns:The stock bitmap, if name was found in the stock bitmap dictionary. Othewise, NullBitmap is returned.


GetTextColourDisable(self)

Returns the colour used for disabled menu items.

Returns:An instance of wx.Colour.


GetTextColourEnable(self)

Returns the colour used for enabled menu items.

Returns:An instance of wx.Colour.


GetTextStartLocation(self, dc, rect, bitmap, text, style=0)

Returns the top left x and y cordinates of the text drawing. In case the text is too long, the text is being fixed (the text is cut and a ‘...’ mark is added in the end).

Parameters:
  • dc – an instance of wx.DC;
  • rect (wx.Rect) – the text’s client rectangle;
  • bitmap (wx.Bitmap) – the bitmap associated with the button;
  • text (string) – the button label;
  • style (integer) – the button style.
Returns:

A tuple containining the top left x and y cordinates of the text drawing, plus the truncated version of the input text.

See also

GetBitmapStartLocation for a list of valid button styles.



GetThemeBaseColour(self, useLightColours=True)

Returns the theme (Blue, Silver, Green etc.) base colour, if no theme is active it return the active caption colour, lighter in 30%.

Parameters:useLightColours (bool) – True to use light colours, False otherwise.
Returns:An instance of wx.Colour.


GetTransparency(self)

Returns the alpha channel value for transparent windows.

Returns:An integer representing the alpha channel value.


HighlightBackgroundColour(self)

Returns the background colour of a control when it is in focus.

Returns:An instance of wx.Colour.


InitColours(self)

Initialise the colour map.



Initialize(self)

Initializes the bitmaps and colours.



IsDark(self, colour)

Returns whether a colour is dark or light.

Parameters:colour – an instance of wx.Colour.
Returns:True if the average RGB values are dark, False otherwise.


LightColour(self, colour, percent)

Return light contrast of colour. The colour returned is from the scale of colour ==> white.

Parameters:
  • colour – the input colour to be brightened, an instance of wx.Colour;
  • percent (integer) – determines how light the colour will be. percent = 100 returns white, percent = 0 returns colour.
Returns:

A light contrast of the input colour, an instance of wx.Colour.



MakeWindowTransparent(self, wnd, amount)

Used internally. Makes a toplevel window transparent if the system supports it.

Parameters:
  • wnd – the toplevel window to make transparent, an instance of TopLevelWindow;
  • amount (integer) – the window transparency to apply.


MixColours(self, firstColour, secondColour, percent)

Return mix of input colours.

Parameters:
  • firstColour – the first colour to be mixed, an instance of wx.Colour;
  • secondColour – the second colour to be mixed, an instance of wx.Colour;
  • percent (integer) – the relative percentage of firstColour with respect to secondColour.
Returns:

An instance of wx.Colour.



OnSysColourChange(self, event)

Handles the wx.EVT_SYS_COLOUR_CHANGED event for ArtManager.

Parameters:event – a SysColourChangedEvent event to be processed.


PaintCrescentGradientBox(self, dc, rect, startColour, endColour, concave=True)

Paint a region with gradient colouring. The gradient is in crescent shape which fits the 2007 style.

Parameters:
  • dc – an instance of wx.DC;
  • rect (wx.Rect) – the rectangle to be filled with gradient shading;
  • startColour (wx.Colour) – the first colour of the gradient shading;
  • endColour (wx.Colour) – the second colour of the gradient shading;
  • concave (bool) – True for a concave effect, False for a convex one.


PaintDiagonalGradientBox(self, dc, rect, startColour, endColour, startAtUpperLeft=True, trimToSquare=True)

Paint rectangle with gradient colouring; the gradient lines are diagonal and may start from the upper left corner or from the upper right corner.

Parameters:
  • dc – an instance of wx.DC;
  • rect (wx.Rect) – the rectangle to be filled with gradient shading;
  • startColour (wx.Colour) – the first colour of the gradient shading;
  • endColour (wx.Colour) – the second colour of the gradient shading;
  • startAtUpperLeft (bool) – True to start the gradient lines at the upper left corner of the rectangle, False to start at the upper right corner;
  • trimToSquare (bool) – True to trim the gradient lines in a square.


PaintGradientRegion(self, dc, region, startColour, endColour, vertical=True)

Paint a region with gradient colouring.

Parameters:
  • dc – an instance of wx.DC;
  • region – a region to be filled with gradient shading (an instance of Region);
  • startColour (wx.Colour) – the first colour of the gradient shading;
  • endColour (wx.Colour) – the second colour of the gradient shading;
  • vertical (bool) – True for gradient colouring in the vertical direction, False for horizontal shading.


PaintStraightGradientBox(self, dc, rect, startColour, endColour, vertical=True)

Paint the rectangle with gradient colouring; the gradient lines are either horizontal or vertical.

Parameters:
  • dc – an instance of wx.DC;
  • rect (wx.Rect) – the rectangle to be filled with gradient shading;
  • startColour (wx.Colour) – the first colour of the gradient shading;
  • endColour (wx.Colour) – the second colour of the gradient shading;
  • vertical (bool) – True for gradient colouring in the vertical direction, False for horizontal shading.


RandomColour(self)

Creates a random colour.

Returns:An instance of wx.Colour.


SetMBVerticalGradient(self, v)

Sets the menu bar gradient style.

Parameters:v (bool) – True for a vertical shaded gradient, False otherwise.


SetMenuBarColour(self, scheme)

Sets the menu bar colour scheme to use.

Parameters:scheme (string) – a string representing a colour scheme (i.e., ‘Default’, ‘Dark’, ‘Dark Olive Green’, ‘Generic’).


SetMenuTheme(self, theme)

Set the menu theme, possible values (Style2007, StyleXP, StyleVista).

Parameters:theme (string) – a rendering theme class, either StyleXP, Style2007 or StyleVista.


SetMS2007ButtonSunken(self, sunken)

Sets MS 2007 button style sunken or not.

Parameters:sunken (bool) – True to have a sunken border effect, False otherwise.


SetRaiseToolbar(self, rais)

Enables/disables toobar shadow drop.

Parameters:rais (bool) – True to drop a shadow below a toolbar, False otherwise.


SetTransparency(self, amount)

Sets the alpha channel value for transparent windows.

Parameters:amount (integer) – the actual transparency value (between 0 and 255).
Raise:Exception if the amount parameter is lower than 0 or greater than 255.


TakeScreenShot(self, rect, bmp)

Takes a screenshot of the screen at given position & size (rect).

Parameters:
  • rect (wx.Rect) – the screen rectangle we wish to capture;
  • bmp (wx.Bitmap) – currently unused.


TruncateText(self, dc, text, maxWidth)

Truncates a given string to fit given width size. if the text does not fit into the given width it is truncated to fit. The format of the fixed text is truncate text ....

Parameters:
  • dc – an instance of wx.DC;
  • text (string) – the text to be (eventually) truncated;
  • maxWidth (integer) – the maximum width allowed for the text.
Returns:

A new string containining the (possibly) truncated text.