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.

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.



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.