    deferred class
    	EV_THEME_DRAWER_IMP

    General
    	cluster: implementation_mswin
    	description:
    		"Objects that permit graphical drawing operations to be performed which respect the
    		theming state of Windows."

    Ancestors
    	ANY

    Queries
    	get_window_theme (item: POINTER): POINTER
    	is_color_id_valid (a_color_id: INTEGER_32): BOOLEAN
    	open_theme_data (item: POINTER; class_name: STRING_GENERAL): POINTER
    	theme_color (a_theme: POINTER; a_color_id: INTEGER_32): EV_COLOR

    Commands
    	close_theme_data (item: POINTER)
    	draw_bitmap_on_dc (dc: WEL_DC; a_bitmap, mask_bitmap: WEL_BITMAP; an_x, a_y: INTEGER_32; is_sensitive: BOOLEAN)
    	draw_button_edge (memory_dc: WEL_DC; a_state_id: INTEGER_32; a_rect: WEL_RECT)
    	draw_notebook_background (notebook: EV_NOTEBOOK_IMP; a_hdc: WEL_DC; a_rect: WEL_RECT; background_brush: WEL_BRUSH)
    	draw_text (theme: POINTER; a_hdc: WEL_DC; a_part_id, a_state_id: INTEGER_32; text: STRING_GENERAL; dw_text_flags: INTEGER_32; is_sensitive: BOOLEAN; a_content_rect: WEL_RECT; foreground_color: EV_COLOR_IMP)
    	draw_theme_background (theme: POINTER; a_hdc: WEL_DC; a_part_id, a_state_id: INTEGER_32; a_rect, a_clip_rect: WEL_RECT; background_brush: WEL_BRUSH)
    	draw_theme_parent_background (wel_item: POINTER; a_hdc: WEL_DC; a_rect: WEL_RECT; background_brush: WEL_BRUSH)
    	draw_widget_background (a_widget: EV_WIDGET_IMP; a_hdc: WEL_DC; a_rect: WEL_RECT; background_brush: WEL_BRUSH)
    	internal_draw_text (item: POINTER; dc: WEL_DC; text: STRING_GENERAL; r: WEL_RECT; flags: INTEGER_32; is_sensitive: BOOLEAN; foreground_color: EV_COLOR_IMP)
    	update_button_pixmap_coordinates_for_state (open_theme: POINTER; a_state: INTEGER_32; coordinate: EV_COORDINATE)
    	update_button_text_rect_for_state (open_theme: POINTER; a_state: INTEGER_32; a_rect: WEL_RECT)