Automatic generation produced by ISE Eiffel
note description: "[ An EV_FIGURE_ELLIPTIC is defined by pa and pb and not rotatable. If you need a rotatable elliptic use a EV_FIGURE_ROTATED_ELLIPTIC but if not elliptic is a lot faster. pa----------- | | | | | center | | | | | ----------- pb radius1 is half horizontal distance between pa and pb. radius2 is half vertical distance between pa and pb. ]" legal: "See notice at end of class." status: "See notice at end of class." date: "$Date: 2011-06-03 11:58:02 -0700 (Fri, 03 Jun 2011) $" revision: "$Revision: 86634 $" deferred class interface EV_MODEL_ELLIPTIC feature -- Access Angle: REAL_64 = 0.0 -- Since not rotatable. dashed_line_style: BOOLEAN -- Are lines drawn dashed? -- (from EV_MODEL_ATOMIC) foreground_color: EV_COLOR -- Color of text, lines, etc. -- (from EV_MODEL_ATOMIC) generating_type: TYPE [detachable EV_MODEL_ELLIPTIC] -- 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 group: detachable EV_MODEL_GROUP -- The group `Current' is part of. Void if `Current' is -- not part of a group. -- (from EV_MODEL) id: INTEGER_32 -- Unique id. -- (from EV_MODEL) ensure -- from HASHABLE good_hash_value: Result >= 0 frozen id_object (an_id: INTEGER_32): detachable IDENTIFIED -- Object associated with `an_id' (void if no such object) -- (from IDENTIFIED) ensure -- from IDENTIFIED consistent: Result = Void or else Result.object_id = an_id is_rotatable: BOOLEAN -- Elliptic is not rotatable. -- (Use a rotatable_elliptic) is_scalable: BOOLEAN -- Elliptic is scalable. is_transformable: BOOLEAN -- Elliptic is not transformable. line_width: INTEGER_32 -- Thickness of lines. -- (from EV_MODEL_ATOMIC) frozen object_id: INTEGER_32 -- Unique for current object in any given session -- (from IDENTIFIED) ensure -- from IDENTIFIED valid_id: Result > 0 implies id_object (Result) = Current pebble: detachable ANY -- Data to be transported by pick and drop mechanism. -- (from EV_MODEL) pebble_function: detachable FUNCTION [ANY, TUPLE, detachable ANY] -- Returns data to be transported by pick and drop mechanism. -- When not `Void', pebble is ignored. -- (from EV_MODEL) Pi: REAL_64 = 3.1415926535897932384626433832795029 -- (from MATH_CONST) point_a: EV_COORDINATE -- First point of `Current'. -- (from EV_MODEL_SINGLE_POINTED) ensure -- from EV_MODEL_SINGLE_POINTED result_exists: Result /= Void result_x_equal_point_x: Result.x = point_a_x result_y_eqyal_point_y: Result.y = point_a_y point_a_x: INTEGER_32 -- x position of point_b. point_a_y: INTEGER_32 -- y position of point_b. point_b: EV_COORDINATE -- Second point of `Current'. -- (from EV_MODEL_DOUBLE_POINTED) ensure -- from EV_MODEL_DOUBLE_POINTED result_exists: Result /= Void result_x_equal_point_b_x: Result.x = point_b_x result_y_equal_point_b_y: Result.y = point_b_y point_b_relative: EV_COORDINATE -- point_b relative to group.`point'. -- (from EV_MODEL_DOUBLE_POINTED) ensure -- from EV_MODEL_DOUBLE_POINTED result_exists: Result /= Void result_x_equal_point_b_x_relative: Result.x = point_b_x_relative result_y_eqyal_point_b_y_relative: Result.y = point_b_y_relative point_b_x: INTEGER_32 -- x position of point_b. point_b_x_relative: INTEGER_32 -- horizontal distance between point_b_x and group.`point_x'. -- (from EV_MODEL_DOUBLE_POINTED) point_b_y: INTEGER_32 -- y position of point_b. point_b_y_relative: INTEGER_32 -- vertical distance between point_b_y and group.`point_y'. -- (from EV_MODEL_DOUBLE_POINTED) point_count: INTEGER_32 -- `Current' has two points. -- (from EV_MODEL_DOUBLE_POINTED) require -- from EV_MODEL_SINGLE_POINTED True require -- from EV_MODEL True ensure -- from EV_MODEL correct: Result = point_array.count point_relative: EV_COORDINATE -- `point' relative to group.`point'. -- (from EV_MODEL_SINGLE_POINTED) ensure -- from EV_MODEL_SINGLE_POINTED result_exists: Result /= Void result_x_equal_point_x_relative: Result.x = point_a_x_relative result_y_eqyal_point_y_relative: Result.y = point_a_y_relative point_a_x_relative: INTEGER_32 -- horizontal distance between `point_x' and group.`point_x'. -- (from EV_MODEL_SINGLE_POINTED) point_a_y_relative: INTEGER_32 -- vertical distance between `point_y' and group.`point_y'. -- (from EV_MODEL_SINGLE_POINTED) pointer_style: detachable EV_POINTER_STYLE -- Cursor displayed when pointer is over this figure. -- (from EV_MODEL) radius1: INTEGER_32 -- The horizontal radius. radius2: INTEGER_32 -- The vertical radius. target_data_function: detachable FUNCTION [ANY, TUPLE [like pebble], EV_PND_TARGET_DATA] -- Function for computing target meta data based on source pebble. -- Primarily used for Pick and Drop target menu. -- (from EV_ABSTRACT_PICK_AND_DROPABLE) note option: stable target_name: detachable READABLE_STRING_GENERAL -- Optional textual name describing `Current' pick and drop hole. -- (from EV_ABSTRACT_PICK_AND_DROPABLE) note option: stable world: detachable EV_MODEL_WORLD -- The world `Current' is part of. Void if `Current' is -- not part of a world -- (from EV_MODEL) x: INTEGER_32 -- x position of the center on the screen. -- (from EV_MODEL) y: INTEGER_32 -- y position of the center on the screen . -- (from EV_MODEL) 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 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 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: attached EV_MODEL_ELLIPTIC): 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: attached EV_MODEL_ELLIPTIC): 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 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: attached EV_MODEL_ELLIPTIC): 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_hashable: BOOLEAN -- May current object be hashed? -- (True by default.) -- (from HASHABLE) 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 disable_dashed_line_style -- Draw lines solid. -- (from EV_MODEL_ATOMIC) ensure -- from EV_MODEL_ATOMIC dashed_line_style_disabled: not dashed_line_style enable_dashed_line_style -- Draw lines dashed. -- (from EV_MODEL_ATOMIC) ensure -- from EV_MODEL_ATOMIC dashed_line_style_enabled: dashed_line_style set_foreground_color (a_color: EV_COLOR) -- Assign `a_color' to foreground_color. -- (from EV_MODEL_ATOMIC) require -- from EV_MODEL_ATOMIC a_color_not_void: a_color /= Void ensure -- from EV_MODEL_ATOMIC foreground_color_assigned: foreground_color = a_color set_line_width (a_width: INTEGER_32) -- Assign `a_width' to line_width. -- (from EV_MODEL_ATOMIC) require -- from EV_MODEL_ATOMIC a_width_non_negative: a_width >= 0 ensure -- from EV_MODEL_ATOMIC line_width_assigned: line_width = a_width set_point_b_position_relative (ax, ay: INTEGER_32) -- Set position of point_b_relative to (`ax', `ay'). -- (from EV_MODEL_DOUBLE_POINTED) set_point_a_position_relative (ax, ay: INTEGER_32) -- Set position of point_relative to (`ax', `ay'). -- (from EV_MODEL_SINGLE_POINTED) set_target_data_function (a_function: FUNCTION [ANY, TUPLE [like pebble], EV_PND_TARGET_DATA]) -- Set `a_function' to compute target meta data based on transport source. -- Overrides any target_name set with set_target_name. -- (from EV_ABSTRACT_PICK_AND_DROPABLE) require -- from EV_ABSTRACT_PICK_AND_DROPABLE a_function_not_void: a_function /= Void ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE target_data_function_assigned: target_data_function /= Void and then target_data_function.is_equal (a_function) set_target_name (a_name: READABLE_STRING_GENERAL) -- Assign `a_name' to target_name. -- (from EV_ABSTRACT_PICK_AND_DROPABLE) require -- from EV_ABSTRACT_PICK_AND_DROPABLE a_name_not_void: a_name /= Void ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE target_name_assigned: attached target_name as l_target_name and then a_name /= l_target_name and then a_name.same_string (l_target_name) feature -- Element change remove_pebble -- Make pebble `Void' and pebble_function `Void, -- Removing transport. -- (from EV_MODEL) ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE pebble_removed: pebble = Void and pebble_function = Void rotate (an_angle: REAL_64) -- Rotate around the center for `an_angle'. -- (from EV_MODEL) require -- from EV_MODEL is_rotatable: is_rotatable ensure -- from EV_MODEL center_valid: is_center_valid rotate_around (an_angle: REAL_64; ax, ay: INTEGER_32) -- Rotate around (`ax', `ay') for `an_angle'. -- (from EV_MODEL) require -- from EV_MODEL is_rotatable: is_rotatable ensure -- from EV_MODEL center_valid: is_center_valid scale (a_scale: REAL_64) -- Scale to x and y direction for `a_scale'. -- (from EV_MODEL) require -- from EV_MODEL is_scalable: is_scalable a_scale_bigger_zero: a_scale > 0.0 scale_abs (a_scale: REAL_64) -- Scale to x and y direction for `a_scale'. -- Do not rotate around Angle first. -- (from EV_MODEL) require -- from EV_MODEL is_scalable: is_scalable a_scale_bigger_zero: a_scale > 0.0 scale_x (a_scale_x: REAL_64) -- Scale to x direction for `a_scale_x'. -- (from EV_MODEL) require -- from EV_MODEL is_scalable: is_scalable a_scale_x_bigger_zero: a_scale_x > 0.0 scale_x_abs (a_scale_x: REAL_64) -- Scale absolute to x direction for `a_scale_x'. -- Do not rotate around Angle first. -- (from EV_MODEL) require -- from EV_MODEL is_scalable: is_scalable a_scale_x_bigger_zero: a_scale_x > 0.0 scale_y (a_scale_y: REAL_64) -- Scale to y direction for `a_scale_y'. -- (from EV_MODEL) require -- from EV_MODEL is_scalable: is_scalable a_scale_y_bigger_zero: a_scale_y > 0.0 scale_y_abs (a_scale_y: REAL_64) -- Scale to y direction for `a_scale_y'. -- Do not rotate around Angle first. -- (from EV_MODEL) require -- from EV_MODEL is_scalable: is_scalable a_scale_y_bigger_zero: a_scale_y > 0.0 set_accept_cursor (a_cursor: EV_POINTER_STYLE) -- Set `a_cursor' to be displayed when the screen pointer is over a -- target that accepts pebble during pick and drop. -- (from EV_MODEL) require -- from EV_ABSTRACT_PICK_AND_DROPABLE a_cursor_not_void: a_cursor /= Void ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE accept_cursor_assigned: attached accept_cursor as l_accept_cursor and then l_accept_cursor.is_equal (a_cursor) set_deny_cursor (a_cursor: EV_POINTER_STYLE) -- Set `a_cursor' to be displayed when the screen pointer is not -- over a valid target. -- (from EV_MODEL) require -- from EV_ABSTRACT_PICK_AND_DROPABLE a_cursor_not_void: a_cursor /= Void ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE deny_cursor_assigned: attached deny_cursor as l_deny_cursor and then l_deny_cursor.is_equal (a_cursor) set_pebble (a_pebble: like pebble) -- Assign `a_pebble' to pebble. -- (from EV_MODEL) require -- from EV_ABSTRACT_PICK_AND_DROPABLE a_pebble_not_void: a_pebble /= Void ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE pebble_assigned: pebble = a_pebble set_pebble_function (a_function: FUNCTION [ANY, TUPLE, ANY]) -- Set `a_function' to compute pebble. -- (from EV_MODEL) require -- from EV_ABSTRACT_PICK_AND_DROPABLE a_function_not_void: a_function /= Void a_function_takes_two_integer_open_operands: a_function.valid_operands ([1, 1]) ensure -- from EV_ABSTRACT_PICK_AND_DROPABLE pebble_function_assigned: pebble_function = a_function set_point_a_position (ax, ay: INTEGER_32) -- Set position of point_a to position of (`ax', `ay'). set_point_b_position (ax, ay: INTEGER_32) -- Set position of point_b to position of (`ax', `ay'). set_pointer_style (a_cursor: like pointer_style) -- Assign `a_cursor' to pointer_style. -- (from EV_MODEL) require -- from EV_MODEL a_cursor_not_void: a_cursor /= Void ensure -- from EV_MODEL pointer_style_assigned: pointer_style = a_cursor set_radius1 (radius: INTEGER_32) -- Set radius1 to `radius'. require radius_positive: radius >= 0 ensure set: radius1 = radius set_radius1_and_radius2 (a_radius1, a_radius2: INTEGER_32) -- Set radius1 to `a_radius1' and `radius2` to `a_radius2'. require radius1_positive: a_radius1 >= 0 radius2_positive: a_radius2 >= 0 ensure set: radius1 = a_radius1 and radius2 = a_radius2 set_radius2 (radius: INTEGER_32) -- Set radius2 to `radius'. require radius_positive: radius >= 0 ensure set: radius2 = radius set_x (a_x: INTEGER_32) -- Set x to `an_x'. -- (from EV_MODEL) ensure -- from EV_MODEL x_set: a_x = x center_valid: is_center_valid set_x_y (a_x, a_y: INTEGER_32) -- Set x to `a_x' and y to `a_y'. -- (from EV_MODEL) ensure -- from EV_MODEL set: a_x = x and a_y = y center_valid: is_center_valid set_y (a_y: INTEGER_32) -- Set y to `an_y'. -- (from EV_MODEL) ensure -- from EV_MODEL y_set: a_y = y center_valid: is_center_valid transform (a_transformation: EV_MODEL_TRANSFORMATION) -- Transform all points in point_array using `a_transformation'. -- You can do any transformation you want. You can -- for example rotate `Current' around an other point -- than the center. -- (from EV_MODEL) require -- from EV_MODEL a_transformation_not_void: a_transformation /= Void is_transformable: is_transformable feature -- Duplication copy (other: attached EV_MODEL_ELLIPTIC) -- 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: attached EV_MODEL_ELLIPTIC) -- 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: attached EV_MODEL_ELLIPTIC -- 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: attached EV_MODEL_ELLIPTIC) -- 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: attached EV_MODEL_ELLIPTIC -- 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: attached EV_MODEL_ELLIPTIC -- New object equal to `Current' -- twin calls copy; to change copying/twining semantics, redefine copy. -- (from ANY) ensure -- from ANY twin_not_void: Result /= Void is_equal: Result ~ Current feature -- Basic operations frozen as_attached: attached EV_MODEL_ELLIPTIC -- Attached version of Current -- (Can be used during transitional period to convert -- non-void-safe classes to void-safe ones.) -- (from ANY) frozen default: detachable EV_MODEL_ELLIPTIC -- 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) default_rescue -- Process exception for routines with no Rescue clause. -- (Default: do nothing.) -- (from ANY) frozen do_nothing -- Execute a null action. -- (from ANY) feature -- Action sequences conforming_pick_actions: EV_NOTIFY_ACTION_SEQUENCE -- Actions to be performed when a pebble that fits this hole is -- picked up from another source. -- (when drop_actions.accepts_pebble (pebble)) -- (from EV_MODEL) drop_actions: EV_PND_ACTION_SEQUENCE -- Actions to take when pick and drop transport drops on `Current'. -- (from EV_MODEL) pick_actions: EV_PND_START_ACTION_SEQUENCE -- Actions to be performed when pebble is picked up. -- (from EV_MODEL) pointer_button_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE -- Actions to be performed when screen pointer button is pressed. -- (from EV_MODEL) pointer_button_release_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE -- Actions to be performed when screen pointer button is released. -- (from EV_MODEL) pointer_double_press_actions: EV_POINTER_BUTTON_ACTION_SEQUENCE -- Actions to be performed when screen pointer is double clicked. -- (from EV_MODEL) pointer_enter_actions: EV_NOTIFY_ACTION_SEQUENCE -- Actions to be performed when screen pointer enters widget. -- (from EV_MODEL) pointer_leave_actions: EV_NOTIFY_ACTION_SEQUENCE -- Actions to be performed when screen pointer leaves widget. -- (from EV_MODEL) pointer_motion_actions: EV_POINTER_MOTION_ACTION_SEQUENCE -- Actions to be performed when screen pointer moves. -- (from EV_MODEL) feature -- Events bounding_box: EV_RECTANGLE -- Smallest orthegonal rectangle `Current' fits in. require -- from EV_MODEL True ensure -- from EV_MODEL result_not_void: Result /= Void internal_is_twin: internal_bounding_box /= Result position_on_figure (a_x, a_y: INTEGER_32): BOOLEAN -- Is the point on (`a_x', `a_y') on this figure? -- (from EV_MODEL) update_rectangle_to_bounding_box (a_bbox: EV_RECTANGLE) -- Update `a_bbox' to match bounding_box of `Current'. -- (from EV_MODEL) feature -- Output Io: STD_FILES -- Handle to standard file setup -- (from ANY) ensure -- from ANY 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) 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 operating_environment_not_void: Result /= Void feature -- Status Report accept_cursor: EV_POINTER_STYLE -- Accept cursor set by user. -- To be displayed when the screen pointer is over a target that accepts -- pebble during pick and drop. -- (from EV_MODEL) are_events_sent_to_group: BOOLEAN -- Are events for pointer_motion_actions, pointer_button_press_actions, -- pointer_double_press_actions, pointer_button_release_actions -- pointer_enter_actions and pointer_leave_actions send to `Current's -- group (if any) even if `Current' catch the event. (Default True). -- (from EV_MODEL) deny_cursor: EV_POINTER_STYLE -- Deny cursor set by user. -- To be displayed when the screen pointer is not over a valid target. -- (from EV_MODEL) has_capture: BOOLEAN -- Are all events sent to `Current'? -- (from EV_MODEL) is_center_valid: BOOLEAN -- Is the position of the center valid? -- (from EV_MODEL) is_in_group: BOOLEAN -- Is `Current' part of a group? -- (from EV_MODEL) ensure -- from EV_MODEL group_defines_is_in_group: Result = (group /= Void) is_in_world: BOOLEAN -- Is `Current' part of a world? -- (from EV_MODEL) ensure -- from EV_MODEL world_defines_is_in_world: Result = (world /= Void) is_sensitive: BOOLEAN -- Is object sensitive to user input? -- (from EV_MODEL) is_show_requested: BOOLEAN -- Will `Current' be displayed when its parent is? -- (from EV_MODEL) feature -- Status settings disable_capture -- Disable grab of all events on world. -- (from EV_MODEL) require -- from EV_MODEL in_world: world /= Void has_capture: has_capture ensure -- from EV_MODEL capture_released: not has_capture disable_events_sended_to_group -- Set are_events_sent_to_group to False. -- (from EV_MODEL) ensure -- from EV_MODEL events_blocked: not are_events_sent_to_group disable_sensitive -- Make object non-sensitive to user input. -- (from EV_MODEL) ensure -- from EV_MODEL insensitive_requested: not internal_is_sensitive enable_capture -- Grab all mouse events for world. -- (from EV_MODEL) require -- from EV_MODEL in_world: world /= Void ensure -- from EV_MODEL capture_set: has_capture enable_events_sended_to_group -- Set are_events_sent_to_group to True. -- (from EV_MODEL) ensure -- from EV_MODEL events_sended_to_group: are_events_sent_to_group enable_sensitive -- Make object sensitive to user input. -- (from EV_MODEL) ensure -- from EV_MODEL sensitive_requested: internal_is_sensitive hide -- Request that `Current' not be displayed even when its group is. -- (from EV_MODEL) ensure -- from EV_MODEL not_is_show_requested: not is_show_requested show -- Request that `Current' be displayed when its group is. -- `True' by default. -- (from EV_MODEL) ensure -- from EV_MODEL is_show_requested: is_show_requested feature --EV_FIGURE -- Status settings center_invalidate -- The position of the center may have changed. -- (from EV_MODEL) invariant -- from EV_MODEL_ATOMIC foreground_color_exists: foreground_color /= Void line_width_non_negative: line_width >= 0 -- from EV_MODEL point_array_exists: point_array /= Void center_exists: center /= Void x_is_center_x: is_center_valid implies x = center.x y_is_center_y: is_center_valid implies y = center.y all_points_exist: all_points_exist (point_array) projection_matrix_not_void: projection_matrix /= Void is_transfomable_implies_rotatable_and_scalable: is_transformable implies (is_rotatable and is_scalable) -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note copyright: "Copyright (c) 1984-2006, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software 356 Storke Road, 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_ELLIPTIC -- Generated by Eiffel Studio --
For more details: docs.eiffel.com