note description: "Buffer manager for EV_BUFFER_PROJECTOR" legal: "See notice at end of class." status: "See notice at end of class." author: "Etienne Amodeo" date: "$Date$" revision: "$Revision$" deferred class EV_MODEL_BUFFER_MANAGER feature -- Access drawable_position: EV_COORDINATE -- Position of `drawable' relative to `world'. drawable: EV_DRAWABLE -- Object on which the diagram should be drawn. do Result := drawable_cell.item end drawable_cell: CELL [EV_DRAWABLE] -- Cell that contains `drawable'. feature -- Element change set_drawable_position (a_drawable_position: EV_COORDINATE) -- Set `drawable_position' to `a_drawable_position'. require a_drawable_position_not_void: a_drawable_position /= Void do drawable_position := a_drawable_position ensure drawable_position_assigned: drawable_position = a_drawable_position end set_drawable_cell_and_position (a_drawable_cell: like drawable_cell; a_position: EV_COORDINATE) -- Set `a_drawable' to `drawable'. require a_drawable_not_void: a_drawable_cell /= Void a_position_not_void: a_position /= Void do set_drawable_position (a_position) set_drawable_cell (a_drawable_cell) ensure assigned: drawable_cell = a_drawable_cell end set_drawable_cell (a_drawable_cell: like drawable_cell) -- Set `drawable' to `a_drawable'. require a_drawable_cell_not_void: a_drawable_cell /= Void do drawable_cell := a_drawable_cell ensure assigned: drawable_cell = a_drawable_cell end 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_BUFFER_MANAGER