Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(382)

Side by Side Diff: skia/images/SkScaledBitmapSampler.h

Issue 113827: Remove the remainder of the skia source code from the Chromium repo.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 11 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « skia/images/SkMovie_gif.cpp ('k') | skia/images/SkScaledBitmapSampler.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 #ifndef SkScaledBitmapSampler_DEFINED
2 #define SkScaledBitmapSampler_DEFINED
3
4 #include "SkTypes.h"
5
6 class SkBitmap;
7
8 class SkScaledBitmapSampler {
9 public:
10 SkScaledBitmapSampler(int origWidth, int origHeight, int cellSize);
11
12 int scaledWidth() const { return fScaledWidth; }
13 int scaledHeight() const { return fScaledHeight; }
14
15 int srcY0() const { return fY0; }
16 int srcDY() const { return fDY; }
17
18 enum SrcConfig {
19 kGray, // 1 byte per pixel
20 kIndex, // 1 byte per pixel
21 kRGB, // 3 bytes per pixel
22 kRGBX, // 4 byes per pixel (ignore 4th)
23 kRGBA // 4 bytes per pixel
24 };
25
26 // Given a dst bitmap (with pixels already allocated) and a src-config,
27 // prepares iterator to process the src colors and write them into dst.
28 // Returns false if the request cannot be fulfulled.
29 bool begin(SkBitmap* dst, SrcConfig sc, bool doDither);
30 // call with row of src pixels, for y = 0...scaledHeight-1.
31 // returns true if the row had non-opaque alpha in it
32 bool next(const uint8_t* SK_RESTRICT src);
33
34 private:
35 int fScaledWidth;
36 int fScaledHeight;
37
38 int fX0; // first X coord to sample
39 int fY0; // first Y coord (scanline) to sample
40 int fDX; // step between X samples
41 int fDY; // step between Y samples
42
43 typedef bool (*RowProc)(void* SK_RESTRICT dstRow,
44 const uint8_t* SK_RESTRICT src,
45 int width, int deltaSrc, int y);
46
47 // setup state
48 char* fDstRow; // points into bitmap's pixels
49 int fDstRowBytes;
50 int fCurrY; // used for dithering
51 int fSrcPixelSize; // 1, 3, 4
52 RowProc fRowProc;
53 };
54
55 #endif
OLDNEW
« no previous file with comments | « skia/images/SkMovie_gif.cpp ('k') | skia/images/SkScaledBitmapSampler.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698