Automatic generation produced by ISE Eiffel
note description: "Projection to a Printer." legal: "See notice at end of class." status: "See notice at end of class." keywords: "printer, output, projector" date: "$Date: 2017-03-27 09:23:22 -0800 (Mon, 27 Mar 2017) $" revision: "$Revision: 100056 $" class interface EV_MODEL_PRINT_PROJECTOR_IMP create make_with_context (a_world: EV_MODEL_WORLD; a_context: EV_PRINT_CONTEXT) feature -- Access alternate: INTEGER_32 -- Selects alternate mode (fills the area between -- odd-numbered and even-numbered polygon sides on -- each scan line). -- (from WEL_POLYGON_FILL_MODE_CONSTANTS) arc_cosine (v: REAL_64): REAL_64 -- Trigonometric arccosine of radian v -- in the range [0, pi]. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class arc_sine (v: REAL_64): REAL_64 -- Trigonometric arcsine of radian v -- in the range [-pi/2, +pi/2]. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class arc_tangent (v: REAL_64): REAL_64 -- Trigonometric arctangent of radian v -- in the range [-pi/2, +pi/2]. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class Aspect_x: INTEGER_32 = 40 -- Relative width of a device pixel -- used for line drawing -- (from WEL_CAPABILITIES_CONSTANTS) Aspect_x_y: INTEGER_32 = 44 -- Diagonal width of a device pixel -- used for line drawing -- (from WEL_CAPABILITIES_CONSTANTS) Aspect_y: INTEGER_32 = 42 -- Relative height of a device pixel -- used for line drawing -- (from WEL_CAPABILITIES_CONSTANTS) bitmap: detachable WEL_BITMAP -- Current bitmap selected. -- (from WEL_DC) Bits_pixel: INTEGER_32 = 12 -- Number of adjacent color bits for each pixel -- (from WEL_CAPABILITIES_CONSTANTS) frozen Black_on_white: INTEGER_32 = 1 -- Performs a Boolean AND operation using the color values for the eliminated -- and existing pixels. If the bitmap is a monochrome bitmap, this mode -- preserves black pixels at the expense of white pixels. -- Was declared in {WEL_STRETCH_MODE_CONSTANTS} as synonym of `stretch_andscans`. -- (from WEL_STRETCH_MODE_CONSTANTS) brush: detachable WEL_BRUSH -- Current brush selected. -- (from WEL_DC) ceiling (v: REAL_64): REAL_64 -- Least integral greater than or equal to v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class Clip_caps: INTEGER_32 = 36 -- See class WEL_CLIPPING_CAPABILITIES_CONSTANTS -- (from WEL_CAPABILITIES_CONSTANTS) frozen Color_on_color: INTEGER_32 = 3 -- Deletes the pixels. This mode deletes all eliminated lines of -- pixels without trying to preserve their information. -- Was declared in {WEL_STRETCH_MODE_CONSTANTS} as synonym of `stretch_deletescans`. -- (from WEL_STRETCH_MODE_CONSTANTS) Color_resolution: INTEGER_32 = 108 -- Color resolution of the device in bits -- (from WEL_CAPABILITIES_CONSTANTS) cosine (v: REAL_64): REAL_64 -- Trigonometric cosine of radian v approximated -- in the range [-pi/4, +pi/4]. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class Curve_caps: INTEGER_32 = 28 -- See class WEL_CURVE_CAPABILITIES_CONSTANTS -- (from WEL_CAPABILITIES_CONSTANTS) dabs (v: REAL_64): REAL_64 -- Absolute of v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class Dib_pal_colors: INTEGER_32 = 1 -- (from WEL_DIB_COLORS_CONSTANTS) Dib_rgb_colors: INTEGER_32 = 0 -- (from WEL_DIB_COLORS_CONSTANTS) drawable: EV_DRAWABLE -- Drawable surface (screen, drawing area or pixmap). -- (from EV_MODEL_DRAWER) Driver_version: INTEGER_32 = 1 -- Version number of the device driver -- (from WEL_CAPABILITIES_CONSTANTS) Euler: REAL_64 = 2.7182818284590452353602874713526625 -- Logarithm base -- (from MATH_CONST) exp (x: REAL_64): REAL_64 -- Exponential of v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class Floodfillborder: INTEGER_32 = 0 -- (from WEL_FLOOD_FILL_CONSTANTS) Floodfillsurface: INTEGER_32 = 1 -- (from WEL_FLOOD_FILL_CONSTANTS) floor (v: REAL_64): REAL_64 -- Greatest integral less than or equal to v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class font: detachable WEL_FONT -- Current font selected. -- (from WEL_DC) generating_type: TYPE [detachable EV_MODEL_PRINT_PROJECTOR_IMP] -- 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 frozen Halftone: INTEGER_32 = 4 -- Maps pixels from the source rectangle into blocks of pixels in the -- destination rectangle. The average color over the destination block -- of pixels approximates the color of the source pixels. -- After setting the HALFTONE stretching mode, an application must call the -- SetBrushOrgEx function to set the brush origin. If it fails to do so, -- brush misalignment occurs. -- Was declared in {WEL_STRETCH_MODE_CONSTANTS} as synonym of `stretch_halftone`. -- (from WEL_STRETCH_MODE_CONSTANTS) Horizontal_resolution: INTEGER_32 = 8 -- Width of the display, in pixels -- (from WEL_CAPABILITIES_CONSTANTS) Horizontal_size: INTEGER_32 = 4 -- Width of the physical display in millimeters -- (from WEL_CAPABILITIES_CONSTANTS) item: POINTER -- Generic Windows handle or structure pointer. -- Can be a HWND, HICON, RECT *, WNDCLASS *, etc... -- (from WEL_ANY) Line_caps: INTEGER_32 = 30 -- See class WEL_LINE_CAPABILITIES_CONSTANTS -- (from WEL_CAPABILITIES_CONSTANTS) log (v: REAL_64): REAL_64 -- Natural logarithm of v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class log10 (v: REAL_64): REAL_64 -- Base 10 logarithm of v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class log_2 (v: REAL_64): REAL_64 -- Base 2 logarithm of v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class Logical_pixels_x: INTEGER_32 = 88 -- Number of pixels per logical inch along -- the display width -- (from WEL_CAPABILITIES_CONSTANTS) Logical_pixels_y: INTEGER_32 = 90 -- Number of pixels per logical inch along -- the display height -- (from WEL_CAPABILITIES_CONSTANTS) Maximum_buffered_string_size: INTEGER_32 = 10000 -- Maximum size of string permitting a shared WEL_STRING object to -- be returned by `wel_string_restricted`. -- (from WEL_SHARED_TEMPORARY_OBJECTS) mm_anisotropic: INTEGER_32 -- (from WEL_MM_CONSTANTS) mm_hienglish: INTEGER_32 -- (from WEL_MM_CONSTANTS) mm_himetric: INTEGER_32 -- (from WEL_MM_CONSTANTS) mm_isotropic: INTEGER_32 -- (from WEL_MM_CONSTANTS) mm_loenglish: INTEGER_32 -- (from WEL_MM_CONSTANTS) mm_lometric: INTEGER_32 -- (from WEL_MM_CONSTANTS) mm_text: INTEGER_32 -- (from WEL_MM_CONSTANTS) mm_twips: INTEGER_32 -- (from WEL_MM_CONSTANTS) Num_brushes: INTEGER_32 = 16 -- Number of device-specific brushes -- (from WEL_CAPABILITIES_CONSTANTS) Num_colors: INTEGER_32 = 24 -- Number of entries in the device's color table -- (from WEL_CAPABILITIES_CONSTANTS) Num_fonts: INTEGER_32 = 22 -- Number of device-specific fonts -- (from WEL_CAPABILITIES_CONSTANTS) Num_markers: INTEGER_32 = 20 -- Number of device-specific markers -- (from WEL_CAPABILITIES_CONSTANTS) Num_pens: INTEGER_32 = 18 -- Number of device-specific pens -- (from WEL_CAPABILITIES_CONSTANTS) Num_reserved: INTEGER_32 = 106 -- Number of reserved entries in the system palette -- (from WEL_CAPABILITIES_CONSTANTS) offset_x: INTEGER_32 -- Everyting is drawn offset_x pixels to the right. -- (from EV_MODEL_DRAWER) offset_y: INTEGER_32 -- Everyting is drawn offset_y pixels to bottom. -- (from EV_MODEL_DRAWER) palette: detachable WEL_PALETTE -- Current palette selected. -- (from WEL_DC) Pdevice_size: INTEGER_32 = 26 -- Size of the PDEVICE internal structure, in bytes -- (from WEL_CAPABILITIES_CONSTANTS) pen: detachable WEL_PEN -- Current pen selected. -- (from WEL_DC) Physical_offset_x: INTEGER_32 = 112 -- Distance from left edge of the printable area, in -- device units. -- (from WEL_CAPABILITIES_CONSTANTS) Physical_offset_y: INTEGER_32 = 113 -- Distance from top edge of the printable area, in -- device units. -- (from WEL_CAPABILITIES_CONSTANTS) Pi: REAL_64 = 3.1415926535897932384626433832795029 -- (from MATH_CONST) Pi_2: REAL_64 = 1.5707963267948966192313216916397514 -- (from MATH_CONST) Pi_4: REAL_64 = 0.7853981633974483096156608458198757 -- (from MATH_CONST) Planes: INTEGER_32 = 14 -- Number of color planes -- (from WEL_CAPABILITIES_CONSTANTS) Polygonal_caps: INTEGER_32 = 32 -- See class WEL_POLYGONAL_CAPABILITIES_CONSTANTS -- (from WEL_CAPABILITIES_CONSTANTS) project -- Make a standard projection of the world on the device. require -- from EV_MODEL_PRINT_PROJECTOR_I True require -- from EV_MODEL_PROJECTION_ROUTINES True Raster_caps: INTEGER_32 = 38 -- See class WEL_RASTER_CAPABILITIES_CONSTANTS -- (from WEL_CAPABILITIES_CONSTANTS) region: detachable WEL_REGION -- Current region selected. -- (from WEL_DC) Scaling_factor_x: INTEGER_32 = 114 -- Scaling factor for the x-axis of the printer. -- (from WEL_CAPABILITIES_CONSTANTS) Scaling_factor_y: INTEGER_32 = 115 -- Scaling factor for the y-axis of the printer. -- (from WEL_CAPABILITIES_CONSTANTS) sine (v: REAL_64): REAL_64 -- Trigonometric sine of radian v approximated -- in range [-pi/4, +pi/4]. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class Size_palette: INTEGER_32 = 104 -- Number of entries in the system palette -- (from WEL_CAPABILITIES_CONSTANTS) sqrt (v: REAL_64): REAL_64 -- Square root of v. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class Sqrt2: REAL_64 = 1.4142135623730950488016887242096981 -- Square root of 2 -- (from MATH_CONST) Stretch_andscans: INTEGER_32 = 1 -- Performs a Boolean AND operation using the color values for the eliminated -- and existing pixels. If the bitmap is a monochrome bitmap, this mode -- preserves black pixels at the expense of white pixels. -- Was declared in {WEL_STRETCH_MODE_CONSTANTS} as synonym of `black_on_white`. -- (from WEL_STRETCH_MODE_CONSTANTS) Stretch_deletescans: INTEGER_32 = 3 -- Deletes the pixels. This mode deletes all eliminated lines of -- pixels without trying to preserve their information. -- Was declared in {WEL_STRETCH_MODE_CONSTANTS} as synonym of `color_on_color`. -- (from WEL_STRETCH_MODE_CONSTANTS) Stretch_halftone: INTEGER_32 = 4 -- Maps pixels from the source rectangle into blocks of pixels in the -- destination rectangle. The average color over the destination block -- of pixels approximates the color of the source pixels. -- After setting the HALFTONE stretching mode, an application must call the -- SetBrushOrgEx function to set the brush origin. If it fails to do so, -- brush misalignment occurs. -- Was declared in {WEL_STRETCH_MODE_CONSTANTS} as synonym of `halftone`. -- (from WEL_STRETCH_MODE_CONSTANTS) Stretch_orscans: INTEGER_32 = 2 -- Was declared in {WEL_STRETCH_MODE_CONSTANTS} as synonym of `white_on_black`. -- (from WEL_STRETCH_MODE_CONSTANTS) ta_baseline: INTEGER_32 -- The reference point is on the base line of the text. -- (from WEL_TA_CONSTANTS) ta_bottom: INTEGER_32 -- The reference point is on the bottom edge of the bounding rectangle. -- (from WEL_TA_CONSTANTS) ta_center: INTEGER_32 -- The reference point is aligned horizontally with the center of the bounding rectangle. -- (from WEL_TA_CONSTANTS) ta_left: INTEGER_32 -- The reference point is on the left edge of the bounding rectangle. -- (from WEL_TA_CONSTANTS) ta_noupdatecp: INTEGER_32 -- The current position is not updated after each text output call. -- (from WEL_TA_CONSTANTS) ta_right: INTEGER_32 -- The reference point is on the right edge of the bounding rectangle. -- (from WEL_TA_CONSTANTS) ta_top: INTEGER_32 -- The reference point is on the top edge of the bounding rectangle. -- (from WEL_TA_CONSTANTS) ta_updatecp: INTEGER_32 -- The current position is updated after each text output call. -- (from WEL_TA_CONSTANTS) tangent (v: REAL_64): REAL_64 -- Trigonometric tangent of radian v approximated -- in range [-pi/4, +pi/4]. -- (from DOUBLE_MATH) ensure -- from DOUBLE_MATH instance_free: class Technology: INTEGER_32 = 2 -- Device technology. -- See class WEL_DEVICE_TECHNOLOGY_CONSTANTS -- (from WEL_CAPABILITIES_CONSTANTS) Text_caps: INTEGER_32 = 34 -- See class WEL_TEXT_CAPABILITIES_CONSTANTS -- (from WEL_CAPABILITIES_CONSTANTS) Vertical_resolution: INTEGER_32 = 10 -- Height of the display, in raster lines -- (from WEL_CAPABILITIES_CONSTANTS) Vertical_size: INTEGER_32 = 6 -- Height of the physical display in millimeters -- (from WEL_CAPABILITIES_CONSTANTS) Wel_rect: WEL_RECT -- Once access to an object of type WEL_RECT -- (from WEL_SHARED_TEMPORARY_OBJECTS) Wel_string: WEL_STRING -- Once access to an object of type WEL_STRING -- (from WEL_SHARED_TEMPORARY_OBJECTS) wel_string_from_string (s: READABLE_STRING_GENERAL): WEL_STRING -- Return a shared wel string set to s if -- s.count < `maximum_buffered_string_size`, otherwise -- return a new WEL_STRING object set to s. -- (from WEL_SHARED_TEMPORARY_OBJECTS) require -- from WEL_SHARED_TEMPORARY_OBJECTS s_not_void: s /= Void wel_string_from_string_with_newline_conversion (s: READABLE_STRING_GENERAL): WEL_STRING -- Return a shared wel string set to s if -- s.count < `maximum_buffered_string_size`, otherwise -- return a new WEL_STRING object set to s. -- Make sure all lone '%N' characters are prepended with a carriage return '%R'. -- (from WEL_SHARED_TEMPORARY_OBJECTS) require -- from WEL_SHARED_TEMPORARY_OBJECTS s_not_void: s /= Void wel_string_restricted (characters: INTEGER_32): WEL_STRING -- Return shared `wel_string` as Result if characters -- is less than `maximum_buffered_string_size`, otherwise return a -- new WEL_STRING object. This is used to prevent huge strings -- from being kept within a system. -- (from WEL_SHARED_TEMPORARY_OBJECTS) frozen White_on_black: INTEGER_32 = 2 -- Was declared in {WEL_STRETCH_MODE_CONSTANTS} as synonym of `stretch_orscans`. -- (from WEL_STRETCH_MODE_CONSTANTS) winding: INTEGER_32 -- Selects winding mode (fills any region with a -- nonzero winding value). -- (from WEL_POLYGON_FILL_MODE_CONSTANTS) world: EV_MODEL_WORLD -- Figure-world that will be projected. -- (from EV_MODEL_PROJECTOR) 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 alias "≡≡≡" (other: EV_MODEL_PRINT_PROJECTOR_IMP): 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: EV_MODEL_PRINT_PROJECTOR_IMP): 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 alias "≜" (other: EV_MODEL_PRINT_PROJECTOR_IMP): 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. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC result_not_void: Result /= Void bitmap_selected: BOOLEAN -- Is a bitmap selected? -- (from WEL_DC) brush_selected: BOOLEAN -- Is a brush selected? -- (from WEL_DC) 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. -- (from WEL_DC) require -- from WEL_DC 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 -- from WEL_DC result_not_void: Result /= Void character_size (c: CHARACTER_8): WEL_SIZE -- Size of the string s using the selected font. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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) flag_set (flags, mask: INTEGER_32): BOOLEAN -- Is mask set in flags? -- (from WEL_BIT_OPERATIONS) font_selected: BOOLEAN -- Is a font selected? -- (from WEL_DC) height: INTEGER_32 -- Height of screen (in raster lines). -- (from WEL_DC) require -- from WEL_DC exists: exists is_destroyed: BOOLEAN -- Is Current no longer usable? -- (from EV_ANY_I) is_opaque: BOOLEAN -- Is the background mode opaque? -- (from WEL_DC) require -- from WEL_DC exists: exists is_transparent: BOOLEAN -- Is the background mode transparent? -- (from WEL_DC) require -- from WEL_DC exists: exists is_valid_file_name (a_file_name: READABLE_STRING_GENERAL): BOOLEAN -- Is a_file_name valid? -- (from WEL_DC) map_mode: INTEGER_32 -- Current mapping mode -- See class WEL_MM_CONSTANTS for values. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC valid_map_mode: valid_map_mode_constant (Result) Mask_blt_supported: BOOLEAN = True -- It is since we only support Windows NT or greater. -- (from WEL_DC) palette_selected: BOOLEAN -- Is a palette selected? -- (from WEL_DC) pen_selected: BOOLEAN -- Is a pen selected? -- (from WEL_DC) pixel_color (x, y: INTEGER_32): WEL_COLOR_REF -- Color located at x, y position. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC result_not_void: Result /= Void polygon_fill_mode: INTEGER_32 -- Current polygon fill mode -- See class WEL_POLYGON_FILL_MODE_CONSTANTS for values. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC valid_polygon_fill_mode: valid_polygon_fill_mode_constant (Result) position: WEL_POINT -- Current position in logical coordinates. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC result_exists: Result /= Void region_selected: BOOLEAN -- Is a region selected? -- (from WEL_DC) rop2: INTEGER_32 -- Current drawing mode. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists s_exists: s /= Void ensure -- from WEL_DC positive_result: Result >= 0 string_size (s: READABLE_STRING_GENERAL): WEL_SIZE -- Size of the string s using the selected font. -- (from WEL_DC) require -- from WEL_DC exists: exists s_exists: s /= Void ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists s_exists: s /= Void ensure -- from WEL_DC positive_result: Result >= 0 tabbed_text_height (text: READABLE_STRING_GENERAL): INTEGER_32 -- Height of a tabbed text. -- (from WEL_DC) require -- from WEL_DC exists: exists text_not_void: text /= Void ensure -- from WEL_DC positive_height: Result >= 0 tabbed_text_size (text: READABLE_STRING_GENERAL): WEL_SIZE -- Size of a tabbed text. -- (from WEL_DC) require -- from WEL_DC exists: exists text_not_void: text /= Void ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists text_not_void: text /= Void tabulations_not_void: tabulations /= Void ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists text_not_void: text /= Void ensure -- from WEL_DC positive_width: Result >= 0 text_alignment: INTEGER_32 -- Current text alignment flags. -- (from WEL_DC) require -- from WEL_DC exists: exists text_color: WEL_COLOR_REF -- Current color of the text. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC result_not_void: Result /= Void text_face: READABLE_STRING_GENERAL -- Typeface name of the font that is currently selected. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC 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? -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC result_not_void: Result /= Void viewport_origin: WEL_POINT -- Viewport origin for the dc. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC result_not_void: Result /= Void width: INTEGER_32 -- Width of the screen (in pixels). -- (from WEL_DC) require -- from WEL_DC exists: exists window_extent: WEL_SIZE -- Window extent for the dc -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC result_not_void: Result /= Void window_origin: WEL_POINT -- Window origin for the dc. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC result_not_void: Result /= Void feature -- Status setting select_bitmap (a_bitmap: WEL_BITMAP) -- Select the a_bitmap as the current bitmap. -- (from WEL_DC) require -- from WEL_DC exists: exists a_bitmap_not_void: a_bitmap /= Void a_bitmap_exists: a_bitmap.exists ensure -- from WEL_DC bitmap_set: bitmap = a_bitmap bitmap_selected: bitmap_selected select_brush (a_brush: WEL_BRUSH) -- Select the a_brush as the current brush. -- (from WEL_DC) require -- from WEL_DC exists: exists a_brush_not_void: a_brush /= Void a_brush_exists: a_brush.exists ensure -- from WEL_DC brush_set: brush = a_brush brush_selected: brush_selected select_font (a_font: WEL_FONT) -- Select the a_font as the current font. -- (from WEL_DC) require -- from WEL_DC exists: exists a_font_not_void: a_font /= Void a_font_exists: a_font.exists ensure -- from WEL_DC font_set: font = a_font font_selected: font_selected select_palette (a_palette: WEL_PALETTE) -- Select the a_palette as the current palette. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists a_pen_not_void: a_pen /= Void a_pen_exists: a_pen.exists ensure -- from WEL_DC pen_set: pen = a_pen pen_selected: pen_selected select_region (a_region: WEL_REGION) -- Select the a_region as the current region. -- (from WEL_DC) require -- from WEL_DC exists: exists a_region_not_void: a_region /= Void a_region_exists: a_region.exists ensure -- from WEL_DC region_set: region = a_region region_selected: region_selected set_background_color (color: WEL_COLOR_REF) -- Set the `background_color` to color. -- (from WEL_DC) require -- from WEL_DC exists: exists color_not_void: color /= Void ensure -- from WEL_DC color_set: background_color.item = color.item set_background_opaque -- Set the background mode to opaque. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC is_opaque: is_opaque set_background_transparent -- Set the background mode to transparent. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists valid_horizontal_alignment: valid_htext_alignment_constant (h) valid_vertical_alignment: valid_vtext_alignment_constant (v) ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists valid_map_mode: valid_map_mode_constant (mode) ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists valid_polygon_fill_mode: valid_polygon_fill_mode_constant (mode) ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists valid_rop2_constant: valid_rop2_constant (a_rop2) ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists valid_stretch_mode_constant: valid_stretch_mode_constant (a_mode) ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists valid_alignment: valid_text_alignment_constant (an_alignment) ensure -- from WEL_DC text_alignment_set: flag_set (text_alignment, an_alignment) set_text_color (color: WEL_COLOR_REF) -- Set the `text_color` to color. -- (from WEL_DC) require -- from WEL_DC exists: exists color_not_void: color /= Void ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists valid_current_map_mode: valid_extent_map_mode (map_mode) ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists valid_current_map_mode: valid_extent_map_mode (map_mode) ensure -- from WEL_DC 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 -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC x_window_origin_set: window_origin.x = x_origin y_window_origin_set: window_origin.y = y_origin set_world (a_world: like world) -- Set `world` to a_world. -- (from EV_MODEL_PROJECTOR) require -- from EV_MODEL_PROJECTOR a_world_exists: a_world /= Void ensure -- from EV_MODEL_PROJECTOR world_assigned: world = a_world unselect_all -- Deselect all objects and restore the old ones. -- (from WEL_DC) require -- from WEL_DC exists: exists ensure -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists bitmap_selected: bitmap_selected ensure -- from WEL_DC bitmap_not_selected: not bitmap_selected unselect_brush -- Deselect the brush and restore the old one. -- (from WEL_DC) require -- from WEL_DC exists: exists brush_selected: brush_selected ensure -- from WEL_DC brush_not_selected: not brush_selected unselect_font -- Deselect the font and restore the old one. -- (from WEL_DC) require -- from WEL_DC exists: exists font_selected: font_selected ensure -- from WEL_DC font_not_selected: not font_selected unselect_palette -- Deselect the palette and restore the old one. -- (from WEL_DC) require -- from WEL_DC exists: exists palette_selected: palette_selected ensure -- from WEL_DC palette_not_selected: not palette_selected unselect_pen -- Deselect the pen and restore the old one. -- (from WEL_DC) require -- from WEL_DC exists: exists pen_selected: pen_selected ensure -- from WEL_DC pen_not_selected: not pen_selected unselect_region -- Deselect the region and restore the old one. -- (from WEL_DC) require -- from WEL_DC exists: exists region_selected: region_selected ensure -- from WEL_DC 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: EV_MODEL_PRINT_PROJECTOR_IMP) -- 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: EV_MODEL_PRINT_PROJECTOR_IMP) -- 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: EV_MODEL_PRINT_PROJECTOR_IMP -- 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: EV_MODEL_PRINT_PROJECTOR_IMP) -- 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: EV_MODEL_PRINT_PROJECTOR_IMP -- 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: EV_MODEL_PRINT_PROJECTOR_IMP -- 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 abort_document -- Stops the current print job and erases everything -- drawn since the last call to start_doc. -- (from WEL_PRINTER_DC) require -- from WEL_PRINTER_DC exists: exists 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists clear_flag (flags, mask: INTEGER_32): INTEGER_32 -- Clear the mask in flags -- (from WEL_BIT_OPERATIONS) ensure -- from WEL_BIT_OPERATIONS flag_unset: not flag_set (Result, mask) copy_dc (dc_source: WEL_DC; rect: WEL_RECT) -- Copy the content of rect in dc_source -- to the current dc. -- (from WEL_DC) require -- from WEL_DC exists: exists rect_not_void: rect /= Void dc_source_not_void: dc_source /= Void dc_source_exists: dc_source.exists cwin_hi_word (value: POINTER): INTEGER_32 -- SDK HIWORD -- (from WEL_WORD_OPERATIONS) cwin_lo_word (value: POINTER): INTEGER_32 -- SDK LOWORD -- (from WEL_WORD_OPERATIONS) cwin_make_long (low, high: INTEGER_32): POINTER -- SDK MAKELONG -- (from WEL_WORD_OPERATIONS) cwin_make_lparam (low, high: INTEGER_32): POINTER -- SKD MAKELPARAM -- (from WEL_WORD_OPERATIONS) frozen default: detachable EV_MODEL_PRINT_PROJECTOR_IMP -- 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. -- (from WEL_DC) require -- from WEL_DC 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 -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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 -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists string_not_void: string /= Void rect_not_void: rect /= Void eif_current_object_id: INTEGER_32 -- New identifier for Current -- (from IDENTIFIED_ROUTINES) ensure -- from IDENTIFIED_ROUTINES eif_current_object_id: Result > 0 inserted: eif_is_object_id_of_current (Result) 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_is_object_id_of_current (an_id: INTEGER_32): BOOLEAN -- Is an_id the associated object ID of Current. -- (from IDENTIFIED_ROUTINES) require -- from IDENTIFIED_ROUTINES an_id_non_negative: an_id >= 0 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. -- (from WEL_DC) require -- from WEL_DC exists: exists end_document -- End the job on the printer. -- (from WEL_PRINTER_DC) require -- from WEL_PRINTER_DC exists: exists end_page -- Informs the device that the application has -- finished writing to a page. This procedure is -- typically used to direct the device driver to -- advance to a new page. -- (from WEL_PRINTER_DC) require -- from WEL_PRINTER_DC exists: exists fill_rect (a_rect: WEL_RECT; a_brush: WEL_BRUSH) -- Fill a a_rect using a_brush. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists color_not_void: color /= Void get -- Get the device context -- (from WEL_PRINTER_DC) 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. -- (from WEL_DC) require -- from WEL_DC exists: exists a_rect_not_void: a_rect /= Void invert_region (a_region: WEL_REGION) -- Invert the colors in a_region. -- (from WEL_DC) require -- from WEL_DC exists: exists a_region_not_void: a_region /= Void a_region_exists: a_region.exists is_projecting: BOOLEAN -- Is a project currently being performed? -- Then, do not start a new one. -- (from EV_MODEL_PROJECTION_ROUTINES) line (x1, y1, x2, y2: INTEGER_32) -- Draw a line from x1, y1 to x2, y2. -- (from WEL_DC) require -- from WEL_DC exists: exists line_to (x, y: INTEGER_32) -- Draw a line from the current position -- to x, y position. -- (from WEL_DC) require -- from WEL_DC 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 -- (from WEL_DC) 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists palette_selected: palette_selected rectangle (left, top, right, bottom: INTEGER_32) -- Draw a rectangle from left, top -- to right, bottom. -- (from WEL_DC) require -- from WEL_DC exists: exists release -- Release the device context -- (from WEL_PRINTER_DC) remove_clip_region -- Remove the current clipping region. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists save_bitmap_into (a_bitmap: WEL_BITMAP; file: PATH) -- Save a_bitmap at the file location. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists a_region_not_void: a_region /= Void a_region_exists: a_region.exists set_flag (flags, mask: INTEGER_32): INTEGER_32 -- Set the mask in flags -- (from WEL_BIT_OPERATIONS) ensure -- from WEL_BIT_OPERATIONS flag_set: flag_set (Result, mask) set_pixel (x, y: INTEGER_32; color: WEL_COLOR_REF) -- Set the pixel at x, y position. -- with the color color. -- (from WEL_DC) require -- from WEL_DC exists: exists color_not_void: color /= Void start_document (title: READABLE_STRING_GENERAL) -- Start the job title on the printer. -- (from WEL_PRINTER_DC) require -- from WEL_PRINTER_DC exists: exists title_not_void: title /= Void start_document_info (doc_info: WEL_DOC_INFO) -- Start the job using information from doc_info. -- (from WEL_PRINTER_DC) require -- from WEL_PRINTER_DC exists: exists doc_info_not_void: doc_info /= Void doc_info_exiss: doc_info.exists start_page -- Prepare the printer driver to accept data. -- (from WEL_PRINTER_DC) require -- from WEL_PRINTER_DC exists: exists 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. -- (from WEL_DC) require -- from WEL_DC 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 -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC 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. -- (from WEL_DC) require -- from WEL_DC exists: exists string_not_void: string /= Void feature -- Implementation between (n, a, b: INTEGER_32): BOOLEAN -- Is n a value between a and b? -- (from EV_MODEL_MATH) ensure -- from EV_MODEL_MATH instance_free: class Default_colors: EV_STOCK_COLORS -- Once access to EV_STOCK_COLORS. -- (from EV_MODEL_PROJECTION_ROUTINES) require -- from EV_MODEL_DRAWER True delta_x (angle: REAL_64; length: INTEGER_32): INTEGER_32 -- Get dx component of line segment with length and angle. -- (from EV_MODEL_MATH) ensure -- from EV_MODEL_MATH instance_free: class delta_y (angle: REAL_64; length: INTEGER_32): INTEGER_32 -- Get dy component of line segment with length and angle. -- (from EV_MODEL_MATH) ensure -- from EV_MODEL_MATH instance_free: class distance (x1, y1, x2, y2: INTEGER_32): INTEGER_32 -- Calculate distance between (x1, y1) and (x2, y2). -- (from EV_MODEL_MATH) ensure -- from EV_MODEL_MATH instance_free: class distance_from_line (x, y, x1, y1, x2, y2: INTEGER_32): INTEGER_32 -- Calculate distance between (x, y) and (x1, y1)-(x2, y2). -- The line is considered to be infinite. -- (from EV_MODEL_MATH) ensure -- from EV_MODEL_MATH instance_free: class line_angle (x1, y1, x2, y2: INTEGER_32): REAL_64 -- Return angle of line from (x1, y1) to (x2, y2) relative to world. -- clockwise. 0.0 is 3 o'clock. -- (from EV_MODEL_MATH) ensure -- from EV_MODEL_MATH instance_free: class modulo (a, b: REAL_64): REAL_64 -- a modulo b. -- (from EV_MODEL_MATH) require -- from EV_MODEL_MATH divisible: b /= 0.0 ensure -- from EV_MODEL_MATH instance_free: class in_interval: Result >= 0.0 and Result < b point_on_ellipse (x, y, xc, yc, r1, r2: INTEGER_32): BOOLEAN -- Is (x, y) inside specified ellipse? -- (from EV_MODEL_MATH) ensure -- from EV_MODEL_MATH instance_free: class point_on_ellipse_boundary (x, y, xc, yc, r1, r2, width: INTEGER_32): BOOLEAN -- Is (x, y) on specified ellipse border? -- (from EV_MODEL_MATH) ensure -- from EV_MODEL_MATH instance_free: class point_on_line (x, y, x1, y1, x2, y2, width: INTEGER_32): BOOLEAN -- Is (x, y) on line from (x2, y2) to (x1, y1) with `width`? -- (from EV_MODEL_MATH) ensure -- from EV_MODEL_MATH instance_free: class point_on_polygon (x, y: INTEGER_32; points: SPECIAL [EV_COORDINATE]): BOOLEAN -- Is (x, y) contained in polygon with points? -- Based on code by Hanpeter van Vliet. -- (from EV_MODEL_MATH) ensure -- from EV_MODEL_MATH instance_free: class point_on_rectangle (x, y, x1, y1, x2, y2: INTEGER_32): BOOLEAN -- Is (x, y) inside specified box? -- (from EV_MODEL_MATH) ensure -- from EV_MODEL_MATH instance_free: class point_on_segment (x, y, x1, y1, x2, y2, width: INTEGER_32): BOOLEAN -- Is (x, y) on segment [(x2, y2), (x1, y1)] with `width`? -- (from EV_MODEL_MATH) ensure -- from EV_MODEL_MATH instance_free: class feature -- Basic Operations draw_grid (a_world: EV_MODEL_WORLD) -- Draw grid on canvas. -- world.point is the origin of the grid. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_PRINT_PROJECTOR_I True feature -- BitBlt and MaskBlt constants Blackness: INTEGER_32 = 66 -- Declared in Windows as BLACKNESS -- (from WEL_DRAWING_CONSTANTS) Dstinvert: INTEGER_32 = 5570569 -- Declared in Windows as DSTINVERT -- (from WEL_DRAWING_CONSTANTS) Maskpaint: INTEGER_32 = 2229030 -- 0x220326 -- (from WEL_DRAWING_CONSTANTS) Mergecopy: INTEGER_32 = 12583114 -- Declared in Windows as MERGECOPY -- (from WEL_DRAWING_CONSTANTS) Mergepaint: INTEGER_32 = 12255782 -- Declared in Windows as MERGEPAINT -- (from WEL_DRAWING_CONSTANTS) Notsrccopy: INTEGER_32 = 3342344 -- Declared in Windows as NOTSRCCOPY -- (from WEL_DRAWING_CONSTANTS) Notsrcerase: INTEGER_32 = 1114278 -- Declared in Windows as NOTSRCERASE -- (from WEL_DRAWING_CONSTANTS) Patcopy: INTEGER_32 = 15728673 -- Declared in Windows as PATCOPY -- (from WEL_DRAWING_CONSTANTS) Patinvert: INTEGER_32 = 5898313 -- Declared in Windows as PATINVERT -- (from WEL_DRAWING_CONSTANTS) Patpaint: INTEGER_32 = 16452105 -- Declared in Windows as PATPAINT -- (from WEL_DRAWING_CONSTANTS) R2_black: INTEGER_32 = 1 -- (from WEL_DRAWING_CONSTANTS) R2_copypen: INTEGER_32 = 13 -- (from WEL_DRAWING_CONSTANTS) R2_masknotpen: INTEGER_32 = 3 -- (from WEL_DRAWING_CONSTANTS) R2_maskpen: INTEGER_32 = 9 -- (from WEL_DRAWING_CONSTANTS) R2_maskpennot: INTEGER_32 = 5 -- (from WEL_DRAWING_CONSTANTS) R2_mergenotpen: INTEGER_32 = 12 -- (from WEL_DRAWING_CONSTANTS) R2_mergepen: INTEGER_32 = 15 -- (from WEL_DRAWING_CONSTANTS) R2_mergepennot: INTEGER_32 = 14 -- (from WEL_DRAWING_CONSTANTS) R2_nop: INTEGER_32 = 11 -- (from WEL_DRAWING_CONSTANTS) R2_not: INTEGER_32 = 6 -- (from WEL_DRAWING_CONSTANTS) R2_notcopypen: INTEGER_32 = 4 -- (from WEL_DRAWING_CONSTANTS) R2_notmaskpen: INTEGER_32 = 8 -- (from WEL_DRAWING_CONSTANTS) R2_notmergepen: INTEGER_32 = 2 -- (from WEL_DRAWING_CONSTANTS) R2_notxorpen: INTEGER_32 = 10 -- (from WEL_DRAWING_CONSTANTS) R2_white: INTEGER_32 = 16 -- (from WEL_DRAWING_CONSTANTS) R2_xorpen: INTEGER_32 = 7 -- (from WEL_DRAWING_CONSTANTS) Srcand: INTEGER_32 = 8913094 -- Declared in Windows as SRCAND -- (from WEL_DRAWING_CONSTANTS) Srccopy: INTEGER_32 = 13369376 -- Declared in Windows as SRCCOPY -- (from WEL_DRAWING_CONSTANTS) Srcerase: INTEGER_32 = 4457256 -- Declared in Windows as SRCERASE -- (from WEL_DRAWING_CONSTANTS) Srcinvert: INTEGER_32 = 6684742 -- Declared in Windows as SRCINVERT -- (from WEL_DRAWING_CONSTANTS) Srcpaint: INTEGER_32 = 15597702 -- Declared in Windows as SRCPAINT -- (from WEL_DRAWING_CONSTANTS) Whiteness: INTEGER_32 = 16711778 -- Declared in Windows as WHITENESS -- (from WEL_DRAWING_CONSTANTS) feature -- Conversion from Eiffel to Windows frozen to_lparam (i: INTEGER_32): POINTER -- Convert integer value i in a valid LPARAM value. -- (from WEL_DATA_TYPE) ensure -- from WEL_DATA_TYPE is_class: class frozen to_lresult (i: INTEGER_32): POINTER -- Convert integer value i in a valid LRESULT value. -- (from WEL_DATA_TYPE) ensure -- from WEL_DATA_TYPE is_class: class frozen to_wparam (i: INTEGER_32): POINTER -- Convert integer value i in a valid WPARAM value. -- (from WEL_DATA_TYPE) ensure -- from WEL_DATA_TYPE is_class: class feature -- DrawEdge constants (BDR_xxxx, EDGE_xxxx, BF_xxxx) Bdr_raisedinner: INTEGER_32 = 4 -- Declared in Windows as BDR_RAISEDINNER -- (from WEL_DRAWING_CONSTANTS) Bdr_raisedouter: INTEGER_32 = 1 -- Declared in Windows as BDR_RAISEDOUTER -- (from WEL_DRAWING_CONSTANTS) Bdr_sunkeninner: INTEGER_32 = 8 -- Declared in Windows as BDR_SUNKENINNER -- (from WEL_DRAWING_CONSTANTS) Bdr_sunkenouter: INTEGER_32 = 2 -- Declared in Windows as BDR_SUNKENOUTER -- (from WEL_DRAWING_CONSTANTS) Bf_adjust: INTEGER_32 = 8192 -- Declared in Windows as BF_ADJUST -- (from WEL_DRAWING_CONSTANTS) Bf_bottom: INTEGER_32 = 8 -- Declared in Windows as BF_BOTTOM -- (from WEL_DRAWING_CONSTANTS) Bf_bottomleft: INTEGER_32 = 9 -- Declared in Windows as BF_BOTTOMLEFT -- (from WEL_DRAWING_CONSTANTS) Bf_bottomright: INTEGER_32 = 12 -- Declared in Windows as BF_BOTTOMRIGHT -- (from WEL_DRAWING_CONSTANTS) Bf_diagonal: INTEGER_32 = 16 -- Declared in Windows as BF_DIAGONAL -- (from WEL_DRAWING_CONSTANTS) Bf_diagonal_endbottomleft: INTEGER_32 = 25 -- Declared in Windows as BF_DIAGONAL_ENDBOTTOMLEFT -- (from WEL_DRAWING_CONSTANTS) Bf_diagonal_endbottomright: INTEGER_32 = 28 -- Declared in Windows as BF_DIAGONAL_ENDBOTTOMRIGHT -- (from WEL_DRAWING_CONSTANTS) Bf_diagonal_endtopleft: INTEGER_32 = 19 -- Declared in Windows as BF_DIAGONAL_ENDTOPLEFT -- (from WEL_DRAWING_CONSTANTS) Bf_diagonal_endtopright: INTEGER_32 = 22 -- Declared in Windows as BF_DIAGONAL_ENDTOPRIGHT -- (from WEL_DRAWING_CONSTANTS) Bf_flat: INTEGER_32 = 16384 -- Declared in Windows as BF_FLAT -- (from WEL_DRAWING_CONSTANTS) Bf_left: INTEGER_32 = 1 -- Declared in Windows as BF_LEFT -- (from WEL_DRAWING_CONSTANTS) Bf_middle: INTEGER_32 = 2048 -- Declared in Windows as BF_MIDDLE -- (from WEL_DRAWING_CONSTANTS) Bf_mono: INTEGER_32 = 32768 -- Declared in Windows as BF_MONO -- (from WEL_DRAWING_CONSTANTS) Bf_rect: INTEGER_32 = 15 -- Declared in Windows as BF_RECT -- (from WEL_DRAWING_CONSTANTS) Bf_right: INTEGER_32 = 4 -- Declared in Windows as BF_RIGHT -- (from WEL_DRAWING_CONSTANTS) Bf_soft: INTEGER_32 = 4096 -- Declared in Windows as BF_SOFT -- (from WEL_DRAWING_CONSTANTS) Bf_top: INTEGER_32 = 2 -- Declared in Windows as BF_TOP -- (from WEL_DRAWING_CONSTANTS) Bf_topleft: INTEGER_32 = 3 -- Declared in Windows as BF_TOPLEFT -- (from WEL_DRAWING_CONSTANTS) Bf_topright: INTEGER_32 = 6 -- Declared in Windows as BF_TOPRIGHT -- (from WEL_DRAWING_CONSTANTS) Edge_bump: INTEGER_32 = 9 -- Declared in Windows as EDGE_BUMP -- Equivalent to `bdr_sunkeninner` | `bdr_raisedouter` -- (from WEL_DRAWING_CONSTANTS) Edge_etched: INTEGER_32 = 6 -- Declared in Windows as EDGE_ETCHED -- Equivalent to `bdr_sunkenouter` | `bdr_raisedinner` -- (from WEL_DRAWING_CONSTANTS) Edge_raised: INTEGER_32 = 5 -- Declared in Windows as EDGE_RAISED -- Equivalent to `bdr_raisedouter` | `bdr_raisedinner` -- (from WEL_DRAWING_CONSTANTS) Edge_sunken: INTEGER_32 = 10 -- Declared in Windows as EDGE_SUNKEN -- Equivalent to `bdr_sunkeninner` | `bdr_sunkenouter` -- (from WEL_DRAWING_CONSTANTS) feature -- DrawFrameControl constants (DFC_xxxx, DFCS_xxxx) Dfc_button: INTEGER_32 = 4 -- Declared in Windows as DFC_BUTTON -- (from WEL_DRAWING_CONSTANTS) Dfc_caption: INTEGER_32 = 1 -- Declared in Windows as DFC_CAPTION -- (from WEL_DRAWING_CONSTANTS) Dfc_menu: INTEGER_32 = 2 -- Declared in Windows as DFC_MENU -- (from WEL_DRAWING_CONSTANTS) Dfc_popupmenu: INTEGER_32 = 5 -- Declared in Windows as DFC_POPUPMENU -- (from WEL_DRAWING_CONSTANTS) Dfc_scroll: INTEGER_32 = 3 -- Declared in Windows as DFC_SCROLL -- (from WEL_DRAWING_CONSTANTS) Dfcs_adjustrect: INTEGER_32 = 8192 -- Declared in Windows as DFCS_ADJUSTRECT -- (from WEL_DRAWING_CONSTANTS) Dfcs_button3state: INTEGER_32 = 8 -- Declared in Windows as DFCS_BUTTON3STATE -- (from WEL_DRAWING_CONSTANTS) Dfcs_buttoncheck: INTEGER_32 = 0 -- Declared in Windows as DFCS_BUTTONCHECK -- (from WEL_DRAWING_CONSTANTS) Dfcs_buttonpush: INTEGER_32 = 16 -- Declared in Windows as DFCS_BUTTONPUSH -- (from WEL_DRAWING_CONSTANTS) Dfcs_buttonradio: INTEGER_32 = 4 -- Declared in Windows as DFCS_BUTTONRADIO -- (from WEL_DRAWING_CONSTANTS) Dfcs_buttonradioimage: INTEGER_32 = 1 -- Declared in Windows as DFCS_BUTTONRADIOIMAGE -- (from WEL_DRAWING_CONSTANTS) Dfcs_buttonradiomask: INTEGER_32 = 2 -- Declared in Windows as DFCS_BUTTONRADIOMASK -- (from WEL_DRAWING_CONSTANTS) Dfcs_captionclose: INTEGER_32 = 0 -- Declared in Windows as DFCS_CAPTIONCLOSE -- (from WEL_DRAWING_CONSTANTS) Dfcs_captionhelp: INTEGER_32 = 4 -- Declared in Windows as DFCS_CAPTIONHELP -- (from WEL_DRAWING_CONSTANTS) Dfcs_captionmax: INTEGER_32 = 2 -- Declared in Windows as DFCS_CAPTIONMAX -- (from WEL_DRAWING_CONSTANTS) Dfcs_captionmin: INTEGER_32 = 1 -- Declared in Windows as DFCS_CAPTIONMIN -- (from WEL_DRAWING_CONSTANTS) Dfcs_captionrestore: INTEGER_32 = 3 -- Declared in Windows as DFCS_CAPTIONRESTORE -- (from WEL_DRAWING_CONSTANTS) Dfcs_checked: INTEGER_32 = 1024 -- Declared in Windows as DFCS_CHECKED -- (from WEL_DRAWING_CONSTANTS) Dfcs_flat: INTEGER_32 = 16384 -- Declared in Windows as DFCS_FLAT -- (from WEL_DRAWING_CONSTANTS) Dfcs_hot: INTEGER_32 = 4096 -- Declared in Windows as DFCS_HOT -- (from WEL_DRAWING_CONSTANTS) Dfcs_inactive: INTEGER_32 = 256 -- Declared in Windows as DFCS_INACTIVE -- (from WEL_DRAWING_CONSTANTS) Dfcs_menuarrow: INTEGER_32 = 0 -- Declared in Windows as DFCS_MENUARROW -- (from WEL_DRAWING_CONSTANTS) Dfcs_menuarrowright: INTEGER_32 = 4 -- Declared in Windows as DFCS_MENUARROWRIGHT -- (from WEL_DRAWING_CONSTANTS) Dfcs_menubullet: INTEGER_32 = 2 -- Declared in Windows as DFCS_MENUBULLET -- (from WEL_DRAWING_CONSTANTS) Dfcs_menucheck: INTEGER_32 = 1 -- Declared in Windows as DFCS_MENUCHECK -- (from WEL_DRAWING_CONSTANTS) Dfcs_mono: INTEGER_32 = 32768 -- Declared in Windows as DFCS_MONO -- (from WEL_DRAWING_CONSTANTS) Dfcs_pushed: INTEGER_32 = 512 -- Declared in Windows as DFCS_PUSHED -- (from WEL_DRAWING_CONSTANTS) Dfcs_scrollcombobox: INTEGER_32 = 5 -- Declared in Windows as DFCS_SCROLLCOMBOBOX -- (from WEL_DRAWING_CONSTANTS) Dfcs_scrolldown: INTEGER_32 = 1 -- Declared in Windows as DFCS_SCROLLDOWN -- (from WEL_DRAWING_CONSTANTS) Dfcs_scrollleft: INTEGER_32 = 2 -- Declared in Windows as DFCS_SCROLLLEFT -- (from WEL_DRAWING_CONSTANTS) Dfcs_scrollright: INTEGER_32 = 3 -- Declared in Windows as DFCS_SCROLLRIGHT -- (from WEL_DRAWING_CONSTANTS) Dfcs_scrollsizegrip: INTEGER_32 = 8 -- Declared in Windows as DFCS_SCROLLSIZEGRIP -- (from WEL_DRAWING_CONSTANTS) Dfcs_scrollsizegripright: INTEGER_32 = 16 -- Declared in Windows as DFCS_SCROLLSIZEGRIPRIGHT -- (from WEL_DRAWING_CONSTANTS) Dfcs_scrollup: INTEGER_32 = 0 -- Declared in Windows as DFCS_SCROLLUP -- (from WEL_DRAWING_CONSTANTS) Dfcs_transparent: INTEGER_32 = 2048 -- Declared in Windows as DFCS_TRANSPARENT -- (from WEL_DRAWING_CONSTANTS) feature -- DrawImage constants (DI_xxxx) Di_compat: INTEGER_32 = 4 -- Declared in Windows as DI_COMPAT -- (from WEL_DRAWING_CONSTANTS) Di_defaultsize: INTEGER_32 = 8 -- Declared in Windows as DI_DEFAULTSIZE -- (from WEL_DRAWING_CONSTANTS) Di_image: INTEGER_32 = 2 -- Declared in Windows as DI_IMAGE -- (from WEL_DRAWING_CONSTANTS) Di_mask: INTEGER_32 = 1 -- Declared in Windows as DI_MASK -- (from WEL_DRAWING_CONSTANTS) Di_normal: INTEGER_32 = 3 -- Declared in Windows as DI_NORMAL -- (from WEL_DRAWING_CONSTANTS) feature -- DrawState constants (DSS_xxxx, DST_xxxx) Dss_disabled: INTEGER_32 = 32 -- Declared in Windows as DSS_DISABLED -- (from WEL_DRAWING_CONSTANTS) Dss_hideprefix: INTEGER_32 = 512 -- Declared in Windows as DSS_HIDEPREFIX -- (from WEL_DRAWING_CONSTANTS) Dss_mono: INTEGER_32 = 128 -- Declared in Windows as DSS_MONO -- (from WEL_DRAWING_CONSTANTS) Dss_normal: INTEGER_32 = 0 -- Declared in Windows as DSS_NORMAL -- (from WEL_DRAWING_CONSTANTS) Dss_prefixonly: INTEGER_32 = 1024 -- Declared in Windows as DSS_PREFIXONLY -- (from WEL_DRAWING_CONSTANTS) Dss_right: INTEGER_32 = 32768 -- Declared in Windows as DSS_RIGHT -- (from WEL_DRAWING_CONSTANTS) Dss_union: INTEGER_32 = 16 -- Declared in Windows as DSS_UNION -- (from WEL_DRAWING_CONSTANTS) Dst_bitmap: INTEGER_32 = 4 -- Declared in Windows as DST_BITMAP -- (from WEL_DRAWING_CONSTANTS) Dst_complex: INTEGER_32 = 0 -- Declared in Windows as DST_COMPLEX -- (from WEL_DRAWING_CONSTANTS) Dst_icon: INTEGER_32 = 3 -- Declared in Windows as DST_ICON -- (from WEL_DRAWING_CONSTANTS) Dst_prefixtext: INTEGER_32 = 2 -- Declared in Windows as DST_PREFIXTEXT -- (from WEL_DRAWING_CONSTANTS) Dst_text: INTEGER_32 = 1 -- Declared in Windows as DST_TEXT -- (from WEL_DRAWING_CONSTANTS) feature -- DrawText constants (DT_xxxx) Dt_bottom: INTEGER_32 = 8 -- Declared in Windows as DT_BOTTOM -- (from WEL_DRAWING_CONSTANTS) Dt_calcrect: INTEGER_32 = 1024 -- Declared in Windows as DT_CALCRECT -- (from WEL_DRAWING_CONSTANTS) Dt_center: INTEGER_32 = 1 -- Declared in Windows as DT_CENTER -- (from WEL_DRAWING_CONSTANTS) Dt_expandtabs: INTEGER_32 = 64 -- Declared in Windows as DT_EXPANDTABS -- (from WEL_DRAWING_CONSTANTS) Dt_externalleading: INTEGER_32 = 512 -- Declared in Windows as DT_EXTERNALLEADING -- (from WEL_DRAWING_CONSTANTS) Dt_hideprefix: INTEGER_32 = 1048576 -- Declared in Windows as DT_HIDEPREFIX -- (from WEL_DRAWING_CONSTANTS) Dt_internal: INTEGER_32 = 4096 -- Declared in Windows as DT_INTERNAL -- (from WEL_DRAWING_CONSTANTS) Dt_left: INTEGER_32 = 0 -- Declared in Windows as DT_LEFT -- (from WEL_DRAWING_CONSTANTS) Dt_noclip: INTEGER_32 = 256 -- Declared in Windows as DT_NOCLIP -- (from WEL_DRAWING_CONSTANTS) Dt_noprefix: INTEGER_32 = 2048 -- Declared in Windows as DT_NOPREFIX -- (from WEL_DRAWING_CONSTANTS) Dt_right: INTEGER_32 = 2 -- Declared in Windows as DT_RIGHT -- (from WEL_DRAWING_CONSTANTS) Dt_singleline: INTEGER_32 = 32 -- Declared in Windows as DT_SINGLELINE -- (from WEL_DRAWING_CONSTANTS) Dt_tabstop: INTEGER_32 = 128 -- Declared in Windows as DT_TABSTOP -- (from WEL_DRAWING_CONSTANTS) Dt_top: INTEGER_32 = 0 -- Declared in Windows as DT_TOP -- (from WEL_DRAWING_CONSTANTS) Dt_vcenter: INTEGER_32 = 4 -- Declared in Windows as DT_VCENTER -- (from WEL_DRAWING_CONSTANTS) Dt_wordbreak: INTEGER_32 = 16 -- Declared in Windows as DT_WORDBREAK -- (from WEL_DRAWING_CONSTANTS) feature -- Element Change set_drawable (a_drawable: like drawable) -- Set `drawable` to a_drawable. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWER a_drawable_not_void: a_drawable /= Void ensure -- from EV_MODEL_DRAWER assigned: drawable = a_drawable feature -- Figure drawing draw_figure_arc (arc: EV_MODEL_ARC) -- Draw standard representation of `arc` to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES arc_not_void: arc /= Void draw_figure_dot (dot: EV_MODEL_DOT) -- Draw standard representation of dot to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES dot_not_void: dot /= Void draw_figure_ellipse (ellipse: EV_MODEL_ELLIPSE) -- Draw standard representation of `ellipse` to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES ellipse_not_void: ellipse /= Void draw_figure_equilateral (eql: EV_MODEL_EQUILATERAL) -- Draw standard representation of eql to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES eql_not_void: eql /= Void draw_figure_line (line: EV_MODEL_LINE) -- Draw standard representation of `line` to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES line_not_void: line /= Void draw_figure_parallelogram (parallelogram: EV_MODEL_PARALLELOGRAM) -- Draw standad representation of parallelogram to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES parallelogram_not_void: parallelogram /= Void draw_figure_picture (picture: EV_MODEL_PICTURE) -- Draw standard representation of picture to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES picture_not_void: picture /= Void draw_figure_pie_slice (slice: EV_MODEL_PIE_SLICE) -- Draw standard representation of slice to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES slice_not_void: slice /= Void draw_figure_polygon (polygon: EV_MODEL_POLYGON) -- Draw standard representation of `polygon` to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES polygon_not_void: polygon /= Void draw_figure_polyline (line: EV_MODEL_POLYLINE) -- Draw standard representation of `polyline` to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES line_not_void: line /= Void draw_figure_rectangle (rectangle: EV_MODEL_RECTANGLE) -- Draw standard representation of `rectangle` to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES rectangle_not_void: rectangle /= Void draw_figure_rotated_arc (arc: EV_MODEL_ROTATED_ARC) -- Draw standard representation of `arc` to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES arc_not_void: arc /= Void draw_figure_rotated_ellipse (ellipse: EV_MODEL_ROTATED_ELLIPSE) -- Draw standard representation of `ellipse` to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES ellipse_not_void: ellipse /= Void draw_figure_rotated_pie_slice (slice: EV_MODEL_ROTATED_PIE_SLICE) -- Draw standard representation of slice to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES slice_not_void: slice /= Void draw_figure_rounded_parallelogram (f: EV_MODEL_ROUNDED_PARALLELOGRAM) -- Draw standart representation of f to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES parallelogram_not_void: f /= Void draw_figure_rounded_rectangle (f: EV_MODEL_ROUNDED_RECTANGLE) -- Draw standard representation of f to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES f_not_void: f /= Void draw_figure_star (star: EV_MODEL_STAR) -- Draw standard representation of star to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES star_not_void: star /= Void draw_figure_text (text_figure: EV_MODEL_TEXT) -- Draw standard representation of text_figure to canvas. -- (from EV_MODEL_DRAWER) require -- from EV_MODEL_DRAWING_ROUTINES text_figure_not_void: text_figure /= Void feature -- MaskBlt only constants maskcopy: INTEGER_32 -- (from WEL_DRAWING_CONSTANTS) 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) feature -- Vertical text alignement vta_baseline: INTEGER_32 -- The reference point is on the base line of the text. -- (from WEL_TA_CONSTANTS) vta_center: INTEGER_32 -- The reference point is aligned vertically with the center of the bounding rectangle. -- (from WEL_TA_CONSTANTS) invariant -- from WEL_DC valid_background_mode: exists implies is_opaque /= is_transparent -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) -- from EV_ANY_I interface_coupled: is_usable implies interface /= Void and then attached_interface.implementation = Current base_make_called: is_usable implies base_make_called -- from EV_MODEL_PROJECTOR world_exists: world /= Void -- from EV_MODEL_DRAWER drawable_not_void: drawable /= Void 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 EV_MODEL_PRINT_PROJECTOR_IMP -- Generated by Eiffel Studio --
For more details: eiffel.org