Definition at line 60 of file SkBitmapDevice.cpp.
◆ SkDrawTiler()
Definition at line 85 of file SkBitmapDevice.cpp.
85 : fDevice(dev) {
86 fDone = false;
87
88
90
92 }
93
94
96 fNeedsTiling = clipR.
right() > kMaxDim || clipR.
bottom() > kMaxDim;
97 if (fNeedsTiling) {
99
100
101
102
103
104
105
106
107
108
109
110
113
114 fNeedsTiling = fSrcBounds.
right() > kMaxDim || fSrcBounds.
bottom() > kMaxDim;
115 } else {
116 fNeedsTiling = false;
117 fDone = true;
118 }
119 } else {
120 fSrcBounds = clipR;
121 }
122 }
123
124 if (fNeedsTiling) {
125
126 fDraw.
fRC = &fTileRC;
127
128 fOrigin.
set(fSrcBounds.
fLeft - kMaxDim, fSrcBounds.
fTop);
129 } else {
130
131 fDraw.
fDst = fRootPixmap;
133 fDraw.
fRC = &dev->fRCStack.
rc();
135 }
136
138 }
const SkImageInfo & imageInfo() const
bool accessPixels(SkPixmap *pmap)
const SkMatrix & localToDevice() const
const SkSurfaceProps & surfaceProps() const
const SkSurfaceProps * fProps
bool mapRect(SkRect *dst, const SkRect &src, SkApplyPerspectiveClip pc=SkApplyPerspectiveClip::kYes) const
const SkRasterClip & rc() const
const SkIRect & getBounds() const
Optional< SkRect > bounds
void set(int32_t x, int32_t y)
bool intersect(const SkIRect &r)
constexpr int32_t bottom() const
constexpr int32_t right() const
int32_t fTop
smaller y-axis bounds
int32_t fLeft
smaller x-axis bounds
◆ needsTiling()
bool SkDrawTiler::needsTiling |
( |
| ) |
const |
|
inline |
◆ NeedsTiling()
◆ next()
const SkDraw * SkDrawTiler::next |
( |
| ) |
|
|
inline |
Definition at line 142 of file SkBitmapDevice.cpp.
142 {
143 if (fDone) {
144 return nullptr;
145 }
146 if (fNeedsTiling) {
147 do {
148 this->stepAndSetupTileDraw();
149 }
while (!fDone && fTileRC.
isEmpty());
150
153 return nullptr;
154 }
156 } else {
157 fDone = true;
158 }
159 return &fDraw;
160 }
The documentation for this class was generated from the following file: