class interface CUSTOM_MAPPING
creation
make
feature(s) from CUSTOM_MAPPING
-- from GENERAL
copy (other: like Current)
-- Update current object using fields of object attached
-- to other, so as to yield equal objects.
require
other_not_void: other /= Void
ensure
is_equal: is_equal(other)
is_equal (other: like Current): BOOLEAN
-- Is other attached to an object considered equal to
-- current object ?
require
other_not_void: other /= Void
ensure
consistent: standard_is_equal(other) implies Result;
symmetric: Result implies other.is_equal(Current)
feature(s) from CUSTOM_MAPPING
-- Origin
set_origin (pt: POINT)
-- Set where the origin (0, 0) is relatively to the default origin
-- of the device, in logical coordinates.
require
valid_point: pt /= Void
feature(s) from CUSTOM_MAPPING
-- Mode
is_isotropic: BOOLEAN
-- Isotropic mode?
isotropic
-- Isotropic mode (both axis scale proportionally, that is
-- squares remain square).
-- This is the default.
anisotropic
-- Axis may be scaled independently.
feature(s) from CUSTOM_MAPPING
-- Scale
set_scale (nx: DOUBLE)
-- Change x axis scale factor (1.0 = unchanged).
-- If isotropic, changes both axis.
-- Default: 1.0 (no change)
require
not_zero: nx /= 0.0
ensure
done: x_factor = nx;
iso: is_isotropic implies y_factor = x_factor
feature(s) from CUSTOM_MAPPING
-- Scale
set_x_scale (nx: DOUBLE)
-- Change x axis scale factor (1.0 = unchanged).
-- If isotropic, changes both axis.
-- Default: 1.0 (no change)
require
not_zero: nx /= 0.0
ensure
done: x_factor = nx;
iso: is_isotropic implies y_factor = x_factor
set_y_scale (ny: DOUBLE)
-- Change y_axis scale factor.
-- Default: 1.0 (no change)
require
not_iso: not is_isotropic;
not_zero: ny /= 0.0
ensure
done: y_factor = ny
end of CUSTOM_MAPPING