62 bool is_rescaled()
const {
return x_scale_ != 1 || y_scale_ != 1; }
66 return (x_scale_ != 1 && x_scale_ != -1) ||
67 (y_scale_ != 1 && y_scale_ != -1);
106 transformation_(std::
move(transformation)),
107 clip_box_(transformation_.
clip_box()),
153 : transformation_(std::
move(transformation)), delegate_(
delegate) {}
164 void drawTo(
const Surface &
s)
const override {
169 s.is_write_once(),
s.bgcolor(),
s.fill_mode(),
171 news.drawObject(*delegate_);
175 Transformation transformation_;
176 const Drawable *delegate_;
Axis-aligned integer rectangle.
static Box MaximumBox()
Return a large sentinel box used for unbounded extents.
ARGB8888 color stored as a 32-bit unsigned integer.
The abstraction for drawing to a display.
virtual const ColorFormat & getColorFormat() const =0
Return the native color format used by this device for direct drawing.
Interface for objects that can be drawn to an output device.
virtual Box anchorExtents() const
Return the bounds used for alignment.
virtual Box extents() const =0
Return the bounding box encompassing all pixels that need to be drawn.
Low-level handle used to draw to an underlying device.
Defines 140 opaque HTML named colors.
BlendingMode
Porter-Duff style blending modes.