Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:
note description: "General notion of a device context." legal: "See notice at end of class." status: "See notice at end of class." date: "$Date: 2017-04-20 07:00:43 -0700 (Thu, 20 Apr 2017) $" revision: "$Revision: 100241 $" deferred class interface WEL_DC feature -- Access bitmap: detachable WEL_BITMAP -- Current bitmap selected. brush: detachable WEL_BRUSH -- Current brush selected. font: detachable WEL_FONT -- Current font selected. generating_type: TYPE [detachable WEL_DC] -- Type of current object -- (type of which it is a direct instance) -- (from ANY) ensure -- from ANY generating_type_not_void: Result /= Void generator: STRING_8 -- Name of current object's generating class -- (base class of the type of which it is a direct instance) -- (from ANY) ensure -- from ANY generator_not_void: Result /= Void generator_not_empty: not Result.is_empty item: POINTER -- Generic Windows handle or structure pointer. -- Can be a HWND, HICON, RECT *, WNDCLASS *, etc... -- (from WEL_ANY) palette: detachable WEL_PALETTE -- Current palette selected. pen: detachable WEL_PEN -- Current pen selected. region: detachable WEL_REGION -- Current region selected. feature -- Comparison frozen deep_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void -- or attached to isomorphic object structures? -- (from ANY) ensure -- from ANY instance_free: class shallow_implies_deep: standard_equal (a, b) implies Result both_or_none_void: (a = Void) implies (Result = (b = Void)) same_type: (Result and (a /= Void)) implies (b /= Void and then a.same_type (b)) symmetric: Result implies deep_equal (b, a) frozen equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached -- to objects considered equal? -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.is_equal (b)) frozen is_deep_equal (other: WEL_DC): BOOLEAN -- Are Current and other attached to isomorphic object structures? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY shallow_implies_deep: standard_is_equal (other) implies Result same_type: Result implies same_type (other) symmetric: Result implies other.is_deep_equal (Current) is_equal (other: WEL_DC): BOOLEAN -- Is other attached to an object considered -- equal to current object? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY symmetric: Result implies other ~ Current consistent: standard_is_equal (other) implies Result frozen standard_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached to -- field-by-field identical objects of the same type? -- Always uses default object comparison criterion. -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.standard_is_equal (b)) frozen standard_is_equal (other: WEL_DC): BOOLEAN -- Is other attached to an object of the same type -- as current object, and field-by-field identical to it? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY same_type: Result implies same_type (other) symmetric: Result implies other.standard_is_equal (Current) feature -- Status report background_color: WEL_COLOR_REF -- Current color of the background. require exists: exists ensure result_not_void: Result /= Void bitmap_selected: BOOLEAN -- Is a bitmap selected? brush_selected: BOOLEAN -- Is a brush selected? char_abc_widths (first_char_index, last_char_index: NATURAL_32): ARRAYED_LIST [WEL_ABC_STRUCT] -- Result is a list of Windows ABC structures corresponding to the currently -- selected truetype font, with an entry for each character contained within the -- indices first_char_index, last_char_index. require indexes_valid: first_char_index >= 1 and last_char_index >= first_char_index valid_range: (last_char_index - first_char_index) <= {INTEGER_32}.max_value.to_natural_32 ensure result_not_void: Result /= Void character_size (c: CHARACTER_8): WEL_SIZE -- Size of the string s using the selected font. require exists: exists ensure result_exists: Result /= Void positive_width: Result.width >= 0 positive_height: Result.height >= 0 conforms_to (other: ANY): BOOLEAN -- Does type of current object conform to type -- of other (as per Eiffel: The Language, chapter 13)? -- (from ANY) require -- from ANY other_not_void: other /= Void device_caps (capability: INTEGER_32): INTEGER_32 -- Give device-specific information about -- the current display device. -- See class WEL_CAPABILITIES_CONSTANTS for -- capability values and results. require exists: exists exists: BOOLEAN -- Does the item exist? -- (from WEL_ANY) require -- from WEL_REFERENCE_TRACKABLE True ensure -- from WEL_ANY Result = (item /= default_pointer) font_selected: BOOLEAN -- Is a font selected? height: INTEGER_32 -- Height of screen (in raster lines). require exists: exists is_opaque: BOOLEAN -- Is the background mode opaque? require exists: exists is_transparent: BOOLEAN -- Is the background mode transparent? require exists: exists is_valid_file_name (a_file_name: READABLE_STRING_GENERAL): BOOLEAN -- Is a_file_name valid? map_mode: INTEGER_32 -- Current mapping mode -- See class WEL_MM_CONSTANTS for values. require exists: exists ensure valid_map_mode: valid_map_mode_constant (Result) Mask_blt_supported: BOOLEAN = True -- It is since we only support Windows NT or greater. palette_selected: BOOLEAN -- Is a palette selected? pen_selected: BOOLEAN -- Is a pen selected? pixel_color (x, y: INTEGER_32): WEL_COLOR_REF -- Color located at x, y position. require exists: exists ensure result_not_void: Result /= Void polygon_fill_mode: INTEGER_32 -- Current polygon fill mode -- See class WEL_POLYGON_FILL_MODE_CONSTANTS for values. require exists: exists ensure valid_polygon_fill_mode: valid_polygon_fill_mode_constant (Result) position: WEL_POINT -- Current position in logical coordinates. require exists: exists ensure result_exists: Result /= Void region_selected: BOOLEAN -- Is a region selected? rop2: INTEGER_32 -- Current drawing mode. require exists: exists ensure valid_result: valid_rop2_constant (Result) same_type (other: ANY): BOOLEAN -- Is type of current object identical to type of other? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY definition: Result = (conforms_to (other) and other.conforms_to (Current)) shared: BOOLEAN -- Is item shared by another object? -- If False (by default), item will -- be destroyed by destroy_item. -- If True, item will not be destroyed. -- (from WEL_ANY) stretch_blt_mode: INTEGER_32 -- Current stretching mode. The stretching mode -- defines how color data is added to or removed from -- bitmaps that are stretched or compressed when -- stretch_blt is called. require exists: exists ensure valid_stretch_mode: valid_stretch_mode_constant (Result) string_height (s: READABLE_STRING_GENERAL): INTEGER_32 -- Height of the string s using the selected font. require exists: exists s_exists: s /= Void ensure positive_result: Result >= 0 string_size (s: READABLE_STRING_GENERAL): WEL_SIZE -- Size of the string s using the selected font. require exists: exists s_exists: s /= Void ensure result_exists: Result /= Void positive_width: Result.width >= 0 positive_height: Result.height >= 0 string_width (s: READABLE_STRING_GENERAL): INTEGER_32 -- Width of the string s using the selected font. require exists: exists s_exists: s /= Void ensure positive_result: Result >= 0 tabbed_text_height (text: READABLE_STRING_GENERAL): INTEGER_32 -- Height of a tabbed text. require exists: exists text_not_void: text /= Void ensure positive_height: Result >= 0 tabbed_text_size (text: READABLE_STRING_GENERAL): WEL_SIZE -- Size of a tabbed text. require exists: exists text_not_void: text /= Void ensure result_not_void: Result /= Void positive_width: Result.width >= 0 positive_height: Result.height >= 0 tabbed_text_size_with_tabulation (text: READABLE_STRING_GENERAL; tabulations: ARRAY [INTEGER_32]): WEL_SIZE -- Size of a tabbed text, with tabulations as -- tabulation positions. require exists: exists text_not_void: text /= Void tabulations_not_void: tabulations /= Void ensure result_not_void: Result /= Void positive_width: Result.width >= 0 positive_height: Result.height >= 0 tabbed_text_width (text: READABLE_STRING_GENERAL): INTEGER_32 -- Width of a tabbed text. require exists: exists text_not_void: text /= Void ensure positive_width: Result >= 0 text_alignment: INTEGER_32 -- Current text alignment flags. require exists: exists text_color: WEL_COLOR_REF -- Current color of the text. require exists: exists ensure result_not_void: Result /= Void text_face: READABLE_STRING_GENERAL -- Typeface name of the font that is currently selected. require exists: exists ensure result_not_void: Result /= Void valid_dib_colors_constant (c: INTEGER_32): BOOLEAN -- Is c a valid dib colors constant? -- (from WEL_DIB_COLORS_CONSTANTS) valid_extent_map_mode (mode: INTEGER_32): BOOLEAN -- Is mode a valid window or viewport extent map mode? require valid_map_mode: valid_map_mode_constant (mode) valid_htext_alignment_constant (c: INTEGER_32): BOOLEAN -- Is c a valid text alignment constant for horizontal positioning? -- (from WEL_TA_CONSTANTS) valid_map_mode_constant (c: INTEGER_32): BOOLEAN -- Is c a valid map mode constant? -- (from WEL_MM_CONSTANTS) valid_polygon_fill_mode_constant (c: INTEGER_32): BOOLEAN -- Is c a valid polygon fill mode constant? -- (from WEL_POLYGON_FILL_MODE_CONSTANTS) valid_rop2_constant (c: INTEGER_32): BOOLEAN -- Is c a valid rop2 constant? -- (from WEL_DRAWING_CONSTANTS) valid_stretch_mode_constant (c: INTEGER_32): BOOLEAN -- Is c a valid stretch mode constant? -- (from WEL_STRETCH_MODE_CONSTANTS) valid_text_alignment_constant (c: INTEGER_32): BOOLEAN -- Is c a valid text alignment constant? -- (from WEL_TA_CONSTANTS) valid_vtext_alignment_constant (c: INTEGER_32): BOOLEAN -- Is c a valid text alignment constant for vertical positioning? -- (from WEL_TA_CONSTANTS) viewport_extent: WEL_SIZE -- Retrieve the size of the current viewport for the dc. require exists: exists ensure result_not_void: Result /= Void viewport_origin: WEL_POINT -- Viewport origin for the dc. require exists: exists ensure result_not_void: Result /= Void width: INTEGER_32 -- Width of the screen (in pixels). require exists: exists window_extent: WEL_SIZE -- Window extent for the dc require exists: exists ensure result_not_void: Result /= Void window_origin: WEL_POINT -- Window origin for the dc. require exists: exists ensure result_not_void: Result /= Void feature -- Status setting select_bitmap (a_bitmap: WEL_BITMAP) -- Select the a_bitmap as the current bitmap. require exists: exists a_bitmap_not_void: a_bitmap /= Void a_bitmap_exists: a_bitmap.exists ensure bitmap_set: bitmap = a_bitmap bitmap_selected: bitmap_selected select_brush (a_brush: WEL_BRUSH) -- Select the a_brush as the current brush. require exists: exists a_brush_not_void: a_brush /= Void a_brush_exists: a_brush.exists ensure brush_set: brush = a_brush brush_selected: brush_selected select_font (a_font: WEL_FONT) -- Select the a_font as the current font. require exists: exists a_font_not_void: a_font /= Void a_font_exists: a_font.exists ensure font_set: font = a_font font_selected: font_selected select_palette (a_palette: WEL_PALETTE) -- Select the a_palette as the current palette. require exists: exists a_palette_not_void: a_palette /= Void a_palette_exists: a_palette.exists select_pen (a_pen: WEL_PEN) -- Select the a_pen as the current pen. require exists: exists a_pen_not_void: a_pen /= Void a_pen_exists: a_pen.exists ensure pen_set: pen = a_pen pen_selected: pen_selected select_region (a_region: WEL_REGION) -- Select the a_region as the current region. require exists: exists a_region_not_void: a_region /= Void a_region_exists: a_region.exists ensure region_set: region = a_region region_selected: region_selected set_background_color (color: WEL_COLOR_REF) -- Set the background_color to color. require exists: exists color_not_void: color /= Void ensure color_set: background_color.item = color.item set_background_opaque -- Set the background mode to opaque. require exists: exists ensure is_opaque: is_opaque set_background_transparent -- Set the background mode to transparent. require exists: exists ensure is_transparent: is_transparent set_di_bits (a_bitmap: WEL_BITMAP; start_scan, scan_lines: INTEGER_32; bits: ARRAY [CHARACTER_8]; bitmap_info: WEL_BITMAP_INFO; usage: INTEGER_32): INTEGER_32 -- Set device-independent bits of a_bitmap. require exists: exists a_bitmap_not_void: a_bitmap /= Void a_bitmap_exists: a_bitmap.exists positive_start_scan: start_scan >= 0 positive_scan_lines: scan_lines >= 0 bits_not_void: bits /= Void bitmap_info_not_void: bitmap_info /= Void valid_usage: valid_dib_colors_constant (usage) set_di_bits_pointer (a_bitmap: WEL_BITMAP; start_scan, scan_lines: INTEGER_32; bits: MANAGED_POINTER; bitmap_info: WEL_BITMAP_INFO; usage: INTEGER_32): INTEGER_32 -- Set device-independent bits of a_bitmap. require exists: exists a_bitmap_not_void: a_bitmap /= Void a_bitmap_exists: a_bitmap.exists positive_start_scan: start_scan >= 0 positive_scan_lines: scan_lines >= 0 bits_not_void: bits /= Void bitmap_info_not_void: bitmap_info /= Void valid_usage: valid_dib_colors_constant (usage) set_hv_text_alignment (h, v: INTEGER_32) -- Set the text alignment using the horizontal and -- vertical components in h and v. -- See class WEL_TA_CONSTANTS for valid alignments. require exists: exists valid_horizontal_alignment: valid_htext_alignment_constant (h) valid_vertical_alignment: valid_vtext_alignment_constant (v) ensure text_alignments_set: flag_set (text_alignment, h) and flag_set (text_alignment, v) set_map_mode (mode: INTEGER_32) -- Set the mapping mode mode of the device context. -- See class WEL_MM_CONSTANTS for mode values. require exists: exists valid_map_mode: valid_map_mode_constant (mode) ensure map_mode_set: map_mode = mode set_polygon_fill_mode (mode: INTEGER_32) -- Set the polygon fill mode polygon_fill_mode with -- mode. -- See class WEL_POLYGON_FILL_MODE_CONSTANTS for -- mode values. require exists: exists valid_polygon_fill_mode: valid_polygon_fill_mode_constant (mode) ensure polygon_fill_mode_set: polygon_fill_mode = mode set_rop2 (a_rop2: INTEGER_32) -- Set the current foreground mix mode. GDI uses the -- foreground mix mode to combine pens and interiors of -- filled objects with the colors already on the screen. -- The foreground mix mode defines how colors from the -- brush or pen and the colors in the existing image -- are to be combined. -- For a_rop2 values, see class WEL_ROP2_CONSTANTS. require exists: exists valid_rop2_constant: valid_rop2_constant (a_rop2) ensure rop2_set: rop2 = a_rop2 set_shared -- Set shared to True. -- (from WEL_ANY) ensure -- from WEL_ANY shared: shared set_stretch_blt_mode (a_mode: INTEGER_32) -- Set the bitmap stretching mode with a_mode. -- See class WEL_STRETCH_MODE_CONSTANTS for a_mode -- values. require exists: exists valid_stretch_mode_constant: valid_stretch_mode_constant (a_mode) ensure stretch_blt_mode_set: stretch_blt_mode = a_mode set_text_alignment (an_alignment: INTEGER_32) -- Set the text alignment with an_alignment. -- See class WEL_TA_CONSTANTS for an_alignment. require exists: exists valid_alignment: valid_text_alignment_constant (an_alignment) ensure text_alignment_set: flag_set (text_alignment, an_alignment) set_text_color (color: WEL_COLOR_REF) -- Set the text_color to color. require exists: exists color_not_void: color /= Void ensure color_set: text_color.item = color.item set_unshared -- Set shared to False. -- (from WEL_ANY) ensure -- from WEL_ANY unshared: not shared set_viewport_extent (x_extent, y_extent: INTEGER_32) -- Set the x_extent and y_extent of the viewport -- associated with the device context. require exists: exists valid_current_map_mode: valid_extent_map_mode (map_mode) ensure x_viewport_extent_set: map_mode /= mm_isotropic implies viewport_extent.width = x_extent y_viewport_extent_set: map_mode /= mm_isotropic implies viewport_extent.height = y_extent set_viewport_origin (x_origin, y_origin: INTEGER_32) -- Set the x_origin and y_origin of the viewport -- associated with the device context. require exists: exists ensure x_viewport_origin_set: viewport_origin.x = x_origin y_viewport_origin_set: viewport_origin.y = y_origin set_window_extent (x_extent, y_extent: INTEGER_32) -- Set the x_extent and y_extent of the window -- associated with the device context. require exists: exists valid_current_map_mode: valid_extent_map_mode (map_mode) ensure x_window_extent_set: map_mode /= mm_isotropic implies window_extent.width = x_extent y_window_extent_set: map_mode /= mm_isotropic implies window_extent.height = y_extent set_window_origin (x_origin, y_origin: INTEGER_32) -- Set the x_origin and y_origin of the window -- associated with the device context require exists: exists ensure x_window_origin_set: window_origin.x = x_origin y_window_origin_set: window_origin.y = y_origin unselect_all -- Deselect all objects and restore the old ones. require exists: exists ensure pen_not_selected: not pen_selected brush_not_selected: not brush_selected region_not_selected: not region_selected palette_not_selected: not palette_selected font_not_selected: not font_selected bitmap_not_selected: not bitmap_selected unselect_bitmap -- Deselect the bitmap and restore the old one. require exists: exists bitmap_selected: bitmap_selected ensure bitmap_not_selected: not bitmap_selected unselect_brush -- Deselect the brush and restore the old one. require exists: exists brush_selected: brush_selected ensure brush_not_selected: not brush_selected unselect_font -- Deselect the font and restore the old one. require exists: exists font_selected: font_selected ensure font_not_selected: not font_selected unselect_palette -- Deselect the palette and restore the old one. require exists: exists palette_selected: palette_selected ensure palette_not_selected: not palette_selected unselect_pen -- Deselect the pen and restore the old one. require exists: exists pen_selected: pen_selected ensure pen_not_selected: not pen_selected unselect_region -- Deselect the region and restore the old one. require exists: exists region_selected: region_selected ensure region_not_selected: not region_selected feature -- Element change set_item (an_item: POINTER) -- Set item with an_item -- (from WEL_ANY) ensure -- from WEL_ANY item_set: item = an_item feature -- Removal delete -- Destroy inner structure of Current. -- To be called when Current is no more needed -- (from WEL_REFERENCE_TRACKABLE) require -- from WEL_REFERENCE_TRACKABLE reference_not_tracked: not reference_tracked ensure -- from WEL_REFERENCE_TRACKABLE destroyed: not shared implies not exists dispose -- Destroy inner structure of Current. -- (from WEL_REFERENCE_TRACKABLE) require -- from DISPOSABLE True ensure then -- from WEL_REFERENCE_TRACKABLE internal_object_id_freed: internal_object_id = 0 feature -- Duplication copy (other: WEL_DC) -- Update current object using fields of object attached -- to other, so as to yield equal objects. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_equal: Current ~ other frozen deep_copy (other: WEL_DC) -- Effect equivalent to that of: -- copy (other . deep_twin) -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY deep_equal: deep_equal (Current, other) frozen deep_twin: WEL_DC -- New object structure recursively duplicated from Current. -- (from ANY) ensure -- from ANY deep_twin_not_void: Result /= Void deep_equal: deep_equal (Current, Result) frozen standard_copy (other: WEL_DC) -- Copy every field of other onto corresponding field -- of current object. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_standard_equal: standard_is_equal (other) frozen standard_twin: WEL_DC -- New object field-by-field identical to other. -- Always uses default copying semantics. -- (from ANY) ensure -- from ANY standard_twin_not_void: Result /= Void equal: standard_equal (Result, Current) frozen twin: WEL_DC -- New object equal to Current -- twin calls copy; to change copying/twinning semantics, redefine copy. -- (from ANY) ensure -- from ANY twin_not_void: Result /= Void is_equal: Result ~ Current feature -- Basic operations alpha_blend (a_x_dest, a_y_dest, a_width, a_height: INTEGER_32; dc_source: WEL_DC; a_x_src, a_y_src, a_width_src, a_height_src: INTEGER_32; a_blend_function: WEL_BLEND_FUNCTION): BOOLEAN -- Per pixel alpha blend of bitmap of dc_source onto current. -- The source rectangle should be within the bounds of the bitmap associated with dc_source. require exists: exists dc_source_not_void: dc_source /= Void dc_source_exists: dc_source.exists dc_source_bitmap_selected: dc_source.bitmap_selected valid_src_top_left_coordinate: a_x_src >= 0 and a_y_src >= 0 src_rect_in_source_dc: attached dc_source.bitmap as l_bitmap and then (l_bitmap.width >= (a_x_src + a_width_src) and l_bitmap.height >= (a_y_src + a_height_src)) blend_function_not_void: a_blend_function /= Void blend_function_exists: a_blend_function.exists arc (left, top, right, bottom, x_start_arc, y_start_arc, x_end_arc, y_end_arc: INTEGER_32) -- Draw an elliptical arc into a rectangle specified -- by left, top and right, bottom, starting -- at x_start_arc, y_start_arc and ending at -- x_end_arc, y_end_arc. require exists: exists bit_blt (x_destination, y_destination, a_width, a_height: INTEGER_32; dc_source: WEL_DC; x_source, y_source, raster_operation: INTEGER_32) -- Copy a bitmap from the dc_source to -- the current device context, from x_source, -- y_source to x_destination, y_destination, -- using a_width and a_height with raster_operation. -- See class WEL_RASTER_OPERATIONS_CONSTANTS for -- raster_operation values. require exists: exists positive_width: a_width >= 0 positive_height: a_height >= 0 dc_source_not_void: dc_source /= Void dc_source_exists: dc_source.exists chord (left, top, right, bottom, x_start_line, y_start_line, x_end_line, y_end_line: INTEGER_32) -- Draw a chord into a rectangle specified -- by left, top and right, bottom, starting -- at x_start_line, y_start_line and ending at -- x_end_line, y_end_line. require exists: exists copy_dc (dc_source: WEL_DC; rect: WEL_RECT) -- Copy the content of rect in dc_source -- to the current dc. require exists: exists rect_not_void: rect /= Void dc_source_not_void: dc_source /= Void dc_source_exists: dc_source.exists frozen default: detachable WEL_DC -- Default value of object's type -- (from ANY) frozen default_pointer: POINTER -- Default value of type POINTER -- (Avoid the need to write p.default for -- some p of type POINTER.) -- (from ANY) ensure -- from ANY instance_free: class default_rescue -- Process exception for routines with no Rescue clause. -- (Default: do nothing.) -- (from ANY) di_bits (a_bitmap: WEL_BITMAP; start_scan, scan_lines: INTEGER_32; bitmap_info: WEL_BITMAP_INFO; usage: INTEGER_32): ARRAY [CHARACTER_8] -- Device-independent bits of a_bitmap. -- start_scan specifies the first scan line to -- retrieve and scan_lines specifies the number of -- scan lines to retrieve. bitmap_info specifies the -- desired format for the dib data. require exists: exists a_bitmap_not_void: a_bitmap /= Void a_bitmap_exists: a_bitmap.exists positive_start_scan: start_scan >= 0 positive_scan_lines: scan_lines >= 0 bitmap_info_not_void: bitmap_info /= Void valid_usage: valid_dib_colors_constant (usage) ensure result_not_void: Result /= Void consistent_count: Result.count = bitmap_info.header.size_image di_bits_pointer (a_bitmap: WEL_BITMAP; start_scan, scan_lines: INTEGER_32; bitmap_info: WEL_BITMAP_INFO; usage: INTEGER_32): MANAGED_POINTER -- Device-independent bits of a_bitmap. -- start_scan specifies the first scan line to -- retrieve and scan_lines specifies the number of -- scan lines to retrieve. bitmap_info specifies the -- desired format for the dib data. require exists: exists a_bitmap_not_void: a_bitmap /= Void a_bitmap_exists: a_bitmap.exists positive_start_scan: start_scan >= 0 positive_scan_lines: scan_lines >= 0 bitmap_info_not_void: bitmap_info /= Void valid_usage: valid_dib_colors_constant (usage) ensure result_not_void: Result /= Void consistent_count: Result.count = bitmap_info.header.size_image frozen do_nothing -- Execute a null action. -- (from ANY) ensure -- from ANY instance_free: class draw_bitmap (a_bitmap: WEL_BITMAP; x, y, a_width, a_height: INTEGER_32) -- Draw bitmap at the x, y position -- using a_width and a_height. require exists: exists a_bitmap_not_void: a_bitmap /= Void a_bitmap_exists: a_bitmap.exists draw_bitmap_with_raster_operation (a_bitmap: WEL_BITMAP; x, y, a_width, a_height, raster_operation: INTEGER_32) -- Draw bitmap using raster_operation at position x, y -- using a_width and a_height. -- See class WEL_RASTER_OPERATIONS_CONSTANTS for raster_operation values. require exists: exists a_bitmap_not_void: a_bitmap /= Void a_bitmap_exists: a_bitmap.exists draw_centered_text (string: READABLE_STRING_GENERAL; rect: WEL_RECT) -- Draw the text string centered in rect. require exists: exists string_not_void: string /= Void rect_not_void: rect /= Void draw_cursor (cursor: WEL_CURSOR; x, y: INTEGER_32) -- Draw cursor at the x, y position. require exists: exists cursor_not_void: cursor /= Void cursor_exists: cursor.exists draw_disabled_text (string: READABLE_STRING_GENERAL; rect: WEL_RECT; format: INTEGER_32) -- Draw the text string in disabled mode inside -- the rect using format -- See class WEL_DT_CONSTANTS for format value. require exists: exists string_not_void: string /= Void rect_not_void: rect /= Void draw_edge (a_rect: WEL_RECT; edge_type: INTEGER_32; edge_border: INTEGER_32) -- Draw one or more edges depending on edge_type using the borders -- type edge_border in the bounding rectangle a_rect. -- -- edge_type is a combination of the flags BDR_xxxx and EDGE_xxxx -- as found in WEL_DRAWING_CONSTANTS. -- -- edge_type is a combination of the flags BF_xxxx and EDGE_xxxx -- as found in WEL_DRAWING_CONSTANTS. require exists: exists valid_rect: a_rect /= Void and then a_rect.exists draw_frame_control (a_rect: WEL_RECT; control_type: INTEGER_32; control_state: INTEGER_32) -- Draws a frame control of the type control_type with the style -- control_state. -- -- control_type is a combination of the flags DFC_xxxx -- as found in WEL_DRAWING_CONSTANTS. -- -- control_state is a combination of the flags DFCS_xxxx -- as found in WEL_DRAWING_CONSTANTS. require exists: exists valid_rect: a_rect /= Void and then a_rect.exists draw_icon (icon: WEL_ICON; x, y: INTEGER_32) -- Draw icon at the x, y position. require exists: exists icon_not_void: icon /= Void icon_exists: icon.exists draw_icon_ex (icon: WEL_ICON; x, y, icon_width, icon_height, frame_index: INTEGER_32; flicker_free_background: detachable WEL_BRUSH; di_flags: INTEGER_32) -- Draw icon at the x, y position. require exists: exists icon_not_void: icon /= Void icon_exists: icon.exists draw_state_bitmap (a_brush: detachable WEL_BRUSH; a_bitmap: WEL_BITMAP; x, y: INTEGER_32; format: INTEGER_32) -- Draw the bitmap a_bitmap using format at the -- location (x,y) using the brush a_brush if format include Dss_mono. -- -- See class DSS_xxx and DST_xxx constants in WEL_DRAWING_CONSTANTS for -- format value. require exists: exists a_bitmap_not_void: a_bitmap /= Void draw_state_icon (a_brush: detachable WEL_BRUSH; an_icon: WEL_GRAPHICAL_RESOURCE; x, y: INTEGER_32; format: INTEGER_32) -- Draw the icon/cursor an_icon using format at the -- location (x,y) using the brush a_brush if format include Dss_mono. -- -- See class DSS_xxx and DST_xxx constants in WEL_DRAWING_CONSTANTS for -- format value. require exists: exists an_icon_not_void: an_icon /= Void draw_state_text (a_brush: detachable WEL_BRUSH; string: READABLE_STRING_GENERAL; x, y: INTEGER_32; format: INTEGER_32) -- Draw the text string using format at the -- location (x,y) using the brush a_brush if format include Dss_mono. -- -- See class DSS_xxx and DST_xxx constants in WEL_DRAWING_CONSTANTS for -- format value. require exists: exists string_not_void: string /= Void draw_text (string: READABLE_STRING_GENERAL; rect: WEL_RECT; format: INTEGER_32) -- Draw the text string inside -- the rect using format -- See class WEL_DT_CONSTANTS for format value. require exists: exists string_not_void: string /= Void rect_not_void: rect /= Void draw_text_with_result (string: READABLE_STRING_GENERAL; rect: WEL_RECT; format: INTEGER_32): INTEGER_32 -- Draw the text string inside the rect using format. -- Return the height of the text drawn. -- See class WEL_DT_CONSTANTS for format value. require exists: exists string_not_void: string /= Void rect_not_void: rect /= Void eif_id_object (an_id: INTEGER_32): detachable ANY -- Object associated with an_id -- (from IDENTIFIED_ROUTINES) require -- from IDENTIFIED_ROUTINES an_id_non_negative: an_id >= 0 ensure -- from IDENTIFIED_ROUTINES instance_free: class eif_object_id (an_object: ANY): INTEGER_32 -- New identifier for an_object -- (from IDENTIFIED_ROUTINES) ensure -- from IDENTIFIED_ROUTINES instance_free: class eif_object_id_positive: Result > 0 inserted: eif_id_object (Result) = an_object eif_object_id_free (an_id: INTEGER_32) -- Free the entry an_id -- (from IDENTIFIED_ROUTINES) require -- from IDENTIFIED_ROUTINES an_id_non_negative: an_id >= 0 ensure -- from IDENTIFIED_ROUTINES instance_free: class removed: eif_id_object (an_id) = Void ellipse (left, top, right, bottom: INTEGER_32) -- Draw an ellipse into a rectangle specified by -- left, top and right, bottom. require exists: exists fill_rect (a_rect: WEL_RECT; a_brush: WEL_BRUSH) -- Fill a a_rect using a_brush. require exists: exists a_rect_not_void: a_rect /= Void a_brush_not_void: a_brush /= Void a_brush_exists: a_brush.exists fill_region (a_region: WEL_REGION; a_brush: WEL_BRUSH) -- Fill a_region using a_brush. require exists: exists a_region_not_void: a_region /= Void a_brush_not_void: a_brush /= Void a_brush_exists: a_brush.exists flood_fill_border (x, y: INTEGER_32; color: WEL_COLOR_REF) -- Fill an area which is bounded by color starting -- at x, y. require exists: exists color_not_void: color /= Void flood_fill_surface (x, y: INTEGER_32; color: WEL_COLOR_REF) -- Fill an area which is defined by color starting -- at x, y. Filling continues outward in all -- directions as long as the color is encountered. require exists: exists color_not_void: color /= Void get -- Get the device context. invert_rect (a_rect: WEL_RECT) -- Invert a_rect in a window by performing a logical -- NOT operation on the color values for each pixel. require exists: exists a_rect_not_void: a_rect /= Void invert_region (a_region: WEL_REGION) -- Invert the colors in a_region. require exists: exists a_region_not_void: a_region /= Void a_region_exists: a_region.exists line (x1, y1, x2, y2: INTEGER_32) -- Draw a line from x1, y1 to x2, y2. require exists: exists line_to (x, y: INTEGER_32) -- Draw a line from the current position -- to x, y position. require exists: exists make_rop4 (fore, back: INTEGER_32): INTEGER_32 -- Result is raster operation code corresponding to -- fore and back for argument raster_operation code -- of mask_blt. This corresponds to Windows macro Makerop4 mask_blt (x_destination, y_destination, a_width, a_height: INTEGER_32; dc_source: WEL_DC; x_source, y_source: INTEGER_32; mask_bitmap: WEL_BITMAP; x_mask, y_mask, raster_operation: INTEGER_32) -- Combines the color data for the source and destination bitmaps using the specified mask and raster operation. -- See class WEL_RASTER_OPERATIONS_CONSTANTS for -- raster_operation values. require exists: exists positive_width: a_width >= 0 positive_height: a_height >= 0 mask_bitmap_not_void: mask_bitmap /= Void function_is_supported: Mask_blt_supported move_to (x, y: INTEGER_32) -- Set the current position to x, y position. require exists: exists pat_blt (x_destination, y_destination, a_width, a_height: INTEGER_32; raster_operation: INTEGER_32) -- Paint the rectangle specified by x_destination, -- y_destination, a_width, a_height using the brush -- that is currently selected into this device context. -- The brush color and the surface color or colors are -- combined by using the raster_operation. -- See class WEL_RASTER_OPERATIONS_CONSTANTS for -- raster_operation values. require exists: exists positive_width: a_width >= 0 positive_height: a_height >= 0 pie (left, top, right, bottom, x_start_point, y_start_point, x_end_point, y_end_point: INTEGER_32) -- Draw a pie-shaped wedge by drawing an elliptical -- arc whose center and two endpoints are joined -- by lines. The pie is drawn into a rectangle -- specified by left, top and right, bottom, -- starting at x_start_point, y_start_point -- and ending at x_end_point, y_end_point. require exists: exists poly_bezier (points: ARRAY [INTEGER_32]) -- Draw one or more Bezier curves by using the -- endpoints and control points specified by points. -- The first curve is drawn from the first point to the -- fourth point by using the second and third points as -- control points. Each subsequent curve in the sequence -- needs exactly three more points: the ending point of -- the previous curve is used as the starting point, the -- next two points in the sequence are control points, -- and the third is the ending point. -- The current position is neither used nor updated by -- this procedure. require points_not_void: points /= Void points_count_ok: points.count \\ 2 = 0 poly_bezier_to (points: ARRAY [INTEGER_32]) -- Draw one or more Bezier curves by using the control -- points specified by points. The first curve is -- drawn from the current position to the third point -- by using the first two points as control points. -- For each subsequent curve, the procedure needs -- exactly three more points, and uses the ending point -- of the previous curve as the starting point for the -- next. -- This procedure moves the current position to the -- ending point of the last Bezier curve. require points_not_void: points /= Void points_count_ok: points.count \\ 2 = 0 polygon (points: ARRAY [INTEGER_32]) -- Draw a polygon consisting of two or more points -- connected by lines. require exists: exists points_not_void: points /= Void points_count: points.count \\ 2 = 0 polyline (points: ARRAY [INTEGER_32]) -- Draws a series of line segments by connecting the -- points specified in points. require exists: exists points_not_void: points /= Void points_count: points.count \\ 2 = 0 realize_palette -- Map palette entries from the current logical -- palette on the system palette. require exists: exists palette_selected: palette_selected rectangle (left, top, right, bottom: INTEGER_32) -- Draw a rectangle from left, top -- to right, bottom. require exists: exists release -- Release the device context. remove_clip_region -- Remove the current clipping region. require exists: exists round_rect (left, top, right, bottom, ellipse_width, ellipse_height: INTEGER_32) -- Draw a rectangle from left, top to -- right, bottom with rounded corners. -- The rounded corners are specified by the -- ellipse_width and ellipse_height. require exists: exists save_bitmap_into (a_bitmap: WEL_BITMAP; file: PATH) -- Save a_bitmap at the file location. require exists: exists a_bitmap_not_void: a_bitmap /= Void a_bitmap_exists: a_bitmap.exists file_not_void: file /= Void select_clip_region (a_region: WEL_REGION) -- Select a_region as the current clipping region. require exists: exists a_region_not_void: a_region /= Void a_region_exists: a_region.exists set_pixel (x, y: INTEGER_32; color: WEL_COLOR_REF) -- Set the pixel at x, y position. -- with the color color. require exists: exists color_not_void: color /= Void stretch_blt (x_destination, y_destination, width_destination, height_destination: INTEGER_32; dc_source: WEL_DC; x_source, y_source, width_source, height_source, raster_operation: INTEGER_32) -- Copy a bitmap from the dc_source to -- the current device context, from x_source, -- y_source to x_destination, y_destination, -- using width and height with raster_operation. -- See class WEL_RASTER_OPERATIONS_CONSTANTS for -- raster_operation values. require exists: exists positive_width_destination: width_destination >= 0 positive_height_destination: height_destination >= 0 positive_width_source: width_source >= 0 positive_height_source: height_source >= 0 dc_source_not_void: dc_source /= Void dc_source_exists: dc_source.exists stretch_di_bits (x_destination, y_destination, a_width, a_height, x_source, y_source, dib_width, dib_height: INTEGER_32; dib: WEL_DIB; bitmap_info: WEL_BITMAP_INFO; rgb_mode, raster_operation: INTEGER_32) -- Copy a dib to the current device context, from -- x_source, y_source to x_destination, -- y_destination, using a_width and a_height -- with raster_operation and rgb_mode -- See class WEL_RASTER_OPERATIONS_CONSTANTS for -- raster_operation values -- See class WEL_DIB_COLORS_CONSTANTS for -- rgb_mode values require exists: exists positive_width: a_width >= 0 positive_height: a_height >= 0 dib_not_void: dib /= Void bitmap_not_void: bitmap_info /= Void valid_rgb_mode: valid_dib_colors_constant (rgb_mode) tabbed_text_out (x, y: INTEGER_32; string: READABLE_STRING_GENERAL; tabulations: ARRAY [INTEGER_32]; tabulations_origin: INTEGER_32) -- Write string on x and y position expanding -- tabs to the values specified in tabulations. -- tabulations_origin specifies the x-coordinate of -- the starting position from which tabs are expanded. require exists: exists string_not_void: string /= Void tabulations_not_void: tabulations /= Void text_out (x, y: INTEGER_32; string: READABLE_STRING_GENERAL) -- Write string on x and y position. require exists: exists string_not_void: string /= Void feature -- Output Io: STD_FILES -- Handle to standard file setup -- (from ANY) ensure -- from ANY instance_free: class io_not_void: Result /= Void out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY out_not_void: Result /= Void print (o: detachable ANY) -- Write terse external representation of o -- on standard output. -- (from ANY) ensure -- from ANY instance_free: class frozen tagged_out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY tagged_out_not_void: Result /= Void feature -- Platform Operating_environment: OPERATING_ENVIRONMENT -- Objects available from the operating system -- (from ANY) ensure -- from ANY instance_free: class operating_environment_not_void: Result /= Void feature -- Status Report reference_tracked: BOOLEAN -- Are number references of Current tracked? -- (from WEL_REFERENCE_TRACKABLE) references_count: INTEGER_32 -- Number of object referring to current object. -- (from WEL_REFERENCE_TRACKABLE) feature -- Status Setting decrement_reference -- Decrement number of references to current object. -- When number of references reaches zero, -- delete is called if object is not protected. -- (from WEL_REFERENCE_TRACKABLE) require -- from WEL_REFERENCE_TRACKABLE exists: exists tracking_references_started: reference_tracked enable_reference_tracking -- Set references_tracked to True. -- (from WEL_REFERENCE_TRACKABLE) require -- from WEL_REFERENCE_TRACKABLE exists: exists tracking_reference_not_started: not reference_tracked increment_reference -- Increment number of references to current object. -- (from WEL_REFERENCE_TRACKABLE) require -- from WEL_REFERENCE_TRACKABLE exists: exists tracking_references_started: reference_tracked object_id: INTEGER_32 -- Runtime Id of Current. -- (from WEL_REFERENCE_TRACKABLE) invariant valid_background_mode: exists implies is_opaque /= is_transparent -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note copyright: "Copyright (c) 1984-2017, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software 5949 Hollister Ave., Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com ]" end -- class WEL_DC
Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:

-- Generated by Eiffel Studio --
For more details: eiffel.org