Automatic generation produced by ISE Eiffel

Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:
note description: "EiffelVision drawable. Implementation interface." legal: "See notice at end of class." status: "See notice at end of class." keywords: "figures, primitives, drawing, line, point, ellipse" date: "$Date: 2018-11-23 03:21:48 -0900 (Fri, 23 Nov 2018) $" revision: "$Revision: 102516 $" deferred class interface EV_DRAWABLE_I feature -- Access arc_cosine (v: REAL_32): REAL_32 -- Trigonometric arccosine of radian v -- in the range [0, pi] -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class arc_sine (v: REAL_32): REAL_32 -- Trigonometric arcsine of radian v -- in the range [-pi/2, +pi/2] -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class arc_tangent (v: REAL_32): REAL_32 -- Trigonometric arctangent of radian v -- in the range [-pi/2, +pi/2] -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class frozen background_color: EV_COLOR -- Color displayed behind foreground features. -- (from EV_COLORIZABLE_I) ceiling (v: REAL_32): REAL_32 -- Least integral value greater than or equal to v -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class clip_area: detachable EV_RECTANGLE -- Clip area used to clip drawing. -- If set to Void, no clipping is applied. cosine (v: REAL_32): REAL_32 -- Trigonometric cosine of radian v approximated -- in the range [-pi/4, +pi/4] -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class dashed_line_style: BOOLEAN -- Are lines drawn dashed? drawing_mode: INTEGER_32 -- Logical operation on pixels when drawing. Euler: REAL_64 = 2.7182818284590452353602874713526625 -- Logarithm base -- (from MATH_CONST) exp (x: REAL_32): REAL_32 -- Exponential of v. -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class floor (v: REAL_32): REAL_32 -- Greatest integral value less than or equal to v -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class font: EV_FONT -- Typeface appearance for Current. -- (from EV_FONTABLE_I) ensure -- from EV_FONTABLE_I not_void: Result /= Void frozen foreground_color: EV_COLOR -- Color of foreground features like text. -- (from EV_COLORIZABLE_I) generating_type: TYPE [detachable EV_DRAWABLE_I] -- 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 height: INTEGER_32 -- Vertical size in pixels. ensure positive: Result > 0 line_width: INTEGER_32 -- Line thickness. log (v: REAL_32): REAL_32 -- Natural logarithm of v -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class log10 (v: REAL_32): REAL_32 -- Base 10 logarithm of v -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class log_2 (v: REAL_32): REAL_32 -- Base 2 logarithm of v -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class 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) rabs (v: REAL_32): REAL_32 -- Absolute value of v -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class sine (v: REAL_32): REAL_32 -- Trigonometric sine of radian v approximated -- in range [-pi/4, +pi/4] -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class sqrt (v: REAL_32): REAL_32 -- Square root of v -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class Sqrt2: REAL_64 = 1.4142135623730950488016887242096981 -- Square root of 2 -- (from MATH_CONST) tangent (v: REAL_32): REAL_32 -- Trigonometric tangent of radian v approximated -- in range [-pi/4, +pi/4] -- (from SINGLE_MATH) ensure -- from SINGLE_MATH instance_free: class tile: detachable EV_PIXMAP -- Pixmap that is used to instead of background_color. -- If set to Void, background_color is used to fill. width: INTEGER_32 -- Horizontal size in pixels. ensure positive: Result > 0 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: EV_DRAWABLE_I): 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_DRAWABLE_I): 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: EV_DRAWABLE_I): 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 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 is_destroyed: BOOLEAN -- Is Current no longer usable? -- (from EV_ANY_I) 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)) feature -- Status setting set_default_colors -- Set foreground and background color to their default values. -- (from EV_COLORIZABLE_I) feature -- Element change disable_dashed_line_style -- Draw lines solid. ensure dashed_line_style_disabled: is_usable implies not attached_interface.dashed_line_style enable_dashed_line_style -- Draw lines dashed. ensure dashed_line_style_enabled: is_usable implies attached_interface.dashed_line_style remove_clipping -- Do not apply any clipping. ensure clip_area_void: is_usable implies attached_interface.clip_area = Void remove_tile -- Do not apply a tile when filling. ensure tile_void: is_usable implies attached_interface.tile = Void set_anti_aliasing (value: BOOLEAN) -- Enable (if value) or disable (if not value) anti-aliasing (if supported) when drawing. set_background_color (a_color: like background_color) -- Assign a_color to foreground_color. -- (from EV_COLORIZABLE_I) require -- from EV_COLORIZABLE_I a_color_not_void: a_color /= Void ensure -- from EV_COLORIZABLE_I background_color_assigned: is_initialized implies background_color.is_equal (a_color) set_clip_area (an_area: EV_RECTANGLE) -- Set area which will be refreshed. require an_area_not_void: an_area /= Void ensure clip_area_assigned: is_usable implies attached attached_interface.clip_area as l_clip_area and then an_area.is_equal (l_clip_area) set_clip_region (a_region: EV_REGION) -- Set region which will be refreshed. require a_region_not_void: a_region /= Void set_drawing_mode (a_mode: INTEGER_32) -- Set drawing mode to a_logical_mode. require a_mode_valid: valid_drawing_mode (a_mode) ensure drawing_mode_assigned: is_usable implies attached_interface.drawing_mode = a_mode set_font (a_font: EV_FONT) -- Assign a_font to font. -- (from EV_FONTABLE_I) require -- from EV_FONTABLE_I a_font_not_void: a_font /= Void ensure -- from EV_FONTABLE_I assigned: is_usable implies font.is_equal (a_font) set_foreground_color (a_color: like foreground_color) -- Assign a_color to foreground_color. -- (from EV_COLORIZABLE_I) require -- from EV_COLORIZABLE_I a_color_not_void: a_color /= Void ensure -- from EV_COLORIZABLE_I foreground_color_assigned: is_initialized implies foreground_color.is_equal (a_color) set_line_width (a_width: INTEGER_32) -- Assign a_width to line_width. require a_width_positive_or_zero: a_width >= 0 ensure line_width_assigned: is_usable implies attached_interface.line_width = a_width set_tile (a_pixmap: EV_PIXMAP) -- Set tile used to fill figures. -- Set to Void to use background_color to fill. require a_pixmap_not_void: a_pixmap /= Void ensure tile_assigned: is_usable implies attached_interface.tile /= Void feature -- Duplication copy (other: EV_DRAWABLE_I) -- 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_DRAWABLE_I) -- 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_DRAWABLE_I -- 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_DRAWABLE_I) -- 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_DRAWABLE_I -- 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) sub_pixmap (area: EV_RECTANGLE): EV_PIXMAP -- Pixmap region of Current represented by rectangle area require area_not_void: area /= Void ensure result_not_void: Result /= Void frozen twin: EV_DRAWABLE_I -- 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 frozen default: detachable EV_DRAWABLE_I -- 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) frozen do_nothing -- Execute a null action. -- (from ANY) ensure -- from ANY instance_free: class feature -- Clearing and drawing operations clear -- Erase Current with background_color. clear_rectangle (x1, y1, a_width, a_height: INTEGER_32) -- Draw rectangle with upper-left corner on (x, y) -- with size a_width and a_height in background_color. redraw -- Force Current to redraw itself. feature -- Constants Drawing_mode_and: INTEGER_32 = 3 -- Drawing mode where bitwise AND is performed when a -- pixel is drawn. -- -- T\S | 0 | 1 | -- ------------- --   0 | 0 | 0 | -- ------------- --   1 | 0 | 1 | -- (from EV_DRAWABLE_CONSTANTS) Drawing_mode_copy: INTEGER_32 = 0 -- Normal drawing mode. -- -- T\S | 0 | 1 | -- ------------- --   0 | 0 | 1 | -- ------------- --   1 | 0 | 1 | -- (from EV_DRAWABLE_CONSTANTS) Drawing_mode_invert: INTEGER_32 = 2 -- Drawing mode where bits are inverted before drawn. -- -- T\S | 0 | 1 | -- ------------- --   0 | 1 | 0 | -- ------------- --   1 | 1 | 0 | -- (from EV_DRAWABLE_CONSTANTS) Drawing_mode_or: INTEGER_32 = 4 -- Drawing mode where bitwise OR is performed when a -- pixel is drawn. -- -- T\S | 0 | 1 | -- ------------- --   0 | 0 | 1 | -- ------------- --   1 | 1 | 1 | -- (from EV_DRAWABLE_CONSTANTS) Drawing_mode_xor: INTEGER_32 = 1 -- Drawing mode where bitwise XOR is performed when a -- pixel is drawn. -- -- T\S | 0 | 1 | -- ------------- --   0 | 0 | 1 | -- ------------- --   1 | 1 | 0 | -- (from EV_DRAWABLE_CONSTANTS) feature -- Contract support valid_drawing_mode (a_mode: INTEGER_32): BOOLEAN -- Is a_mode a valid drawing mode? -- (from EV_DRAWABLE_CONSTANTS) feature -- Drawing operations draw_arc (x, y, a_bounding_width, a_bounding_height: INTEGER_32; a_start_angle, an_aperture: REAL_32) -- Draw a part of an ellipse defined by a rectangular area with an -- upper left corner at x,y, width a_bounding_width and height -- a_bounding_height. -- Start at a_start_angle and stop at a_start_angle + an_aperture. -- Angles are measured in radians. require a_bounding_width_positive_or_zero: a_bounding_width >= 0 a_bounding_width_positive_or_zero: a_bounding_height >= 0 draw_ellipse (x, y, a_bounding_width, a_bounding_height: INTEGER_32) -- Draw an ellipse defined by a rectangular area with an -- upper left corner at x,y, width a_bounding_width and height -- a_bounding_height. require a_bounding_width_positive_or_zero: a_bounding_width >= 0 a_bounding_height_positive_or_zero: a_bounding_height >= 0 draw_ellipsed_text (x, y: INTEGER_32; a_text: READABLE_STRING_GENERAL; clipping_width: INTEGER_32) -- Draw a_text with left of baseline at (x, y) using font. -- Text is clipped to clipping_width in pixels and ellipses are displayed -- to show truncated characters if any. require a_text_not_void: a_text /= Void clipping_width_positive: clipping_width >= 0 draw_ellipsed_text_top_left (x, y: INTEGER_32; a_text: READABLE_STRING_GENERAL; clipping_width: INTEGER_32) -- Draw a_text with top left corner at (x, y) using font. -- Text is clipped to clipping_width in pixels and ellipses are displayed -- to show truncated characters if any. require a_text_not_void: a_text /= Void clipping_width_positive: clipping_width >= 0 draw_pie_slice (x, y, a_bounding_width, a_bounding_height: INTEGER_32; a_start_angle, an_aperture: REAL_32) -- Draw part of an ellipse defined by a rectangular area with an -- upper left corner at x,y, width a_bounding_width and height -- a_bounding_height. -- Start at a_start_angle and stop at a_start_angle + an_aperture. -- The arc is then closed by two segments through (x, 'y'). -- Angles are measured in radians. require a_bounding_width_positive_or_zero: a_bounding_width >= 0 a_bounding_height_positive_or_zero: a_bounding_height >= 0 draw_pixmap (x, y: INTEGER_32; a_pixmap: EV_PIXMAP) -- Draw a_pixmap with upper-left corner on (x, 'y'). require a_pixmap_not_void: a_pixmap /= Void draw_point (x, y: INTEGER_32) -- Draw point at (x, 'y'). draw_polyline (points: ARRAY [EV_COORDINATE]; is_closed: BOOLEAN) -- Draw line segments between subsequent points in -- points. If is_closed draw line segment between first -- and last point in points. require points_not_void: points /= Void draw_rectangle (x, y, a_width, a_height: INTEGER_32) -- Draw rectangle with upper-left corner on (x, 'y') -- with size a_width and a_height. require a_width_positive_or_zero: a_width >= 0 a_height_positive_or_zero: a_height >= 0 draw_rotated_text (x, y: INTEGER_32; angle: REAL_32; a_text: READABLE_STRING_GENERAL) -- Draw rotated text a_text with left of baseline at (x, y) using font. -- Rotation is number of radians counter-clockwise from horizontal plane. require a_text_not_void: a_text /= Void draw_segment (x1, y1, x2, y2: INTEGER_32) -- Draw line segment from (x1, 'y1') to (x2, 'y2'). draw_straight_line (x1, y1, x2, y2: INTEGER_32) -- Draw infinite straight line through (x1,'y1') and (x2,'y2'). draw_sub_pixel_buffer (a_x, a_y: INTEGER_32; a_pixel_buffer: EV_PIXEL_BUFFER; area: EV_RECTANGLE) -- Draw area of a_pixel_buffer with upper-left corner on (a_x, a_y). require a_pixel_buffer_not_void: a_pixel_buffer /= Void a_pixel_buffer_not_destroyed: not a_pixel_buffer.is_destroyed area_not_void: area /= Void draw_sub_pixmap (x, y: INTEGER_32; a_pixmap: EV_PIXMAP; area: EV_RECTANGLE) -- Draw area of a_pixmap with upper-left corner on (x, y). require a_pixmap_not_void: a_pixmap /= Void a_pixmap_not_destroyed: not a_pixmap.is_destroyed area_not_void: area /= Void draw_text (x, y: INTEGER_32; a_text: READABLE_STRING_GENERAL) -- Draw a_text with left of baseline at (x, y) using font. require a_text_not_void: a_text /= Void draw_text_top_left (x, y: INTEGER_32; a_text: READABLE_STRING_GENERAL) -- Draw a_text with top left corner at (x, y) using font. require a_text_not_void: a_text /= Void feature -- Drawing operations (filled) fill_ellipse (x, y, a_bounding_width, a_bounding_height: INTEGER_32) -- Fill an ellipse defined by a rectangular area with an -- upper left corner at x,y, width a_bounding_width and height -- a_bounding_height. require a_bounding_width_positive_or_zero: a_bounding_width >= 0 a_bounding_height_positive_or_zero: a_bounding_height >= 0 fill_pie_slice (x, y, a_bounding_width, a_bounding_height: INTEGER_32; a_start_angle, an_aperture: REAL_32) -- Fill part of an ellipse defined by a rectangular area with an -- upper left corner at x,y, width a_bounding_width and height -- a_bounding_height. -- Start at a_start_angle and stop at a_start_angle + an_aperture. -- The arc is then closed by two segments through (x, 'y'). -- Angles are measured in radians. require a_bounding_width_positive_or_zero: a_bounding_width >= 0 a_bounding_height_positive_or_zero: a_bounding_height >= 0 fill_polygon (points: ARRAY [EV_COORDINATE]) -- Draw line segments between subsequent points in points. -- Fill with background_color. require points_not_void: points /= Void fill_rectangle (x, y, a_width, a_height: INTEGER_32) -- Draw rectangle with upper-left corner on (x, 'y') -- with size a_width and a_height. Fill with background_color. require a_width_positive_or_zero: a_width >= 0 a_height_positive_or_zero: a_height >= 0 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 invariant -- 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 ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note copyright: "Copyright (c) 1984-2018, 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_DRAWABLE_I
Classes Clusters Cluster hierarchy Chart Relations Flat contracts Go to:

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