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

Unified Diff: include/core/SkBlitRow.h

Issue 847443003: rename blitrow::proc and add (uncalled) hook for colorproc16 (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 5 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | src/core/SkBlitRow_D16.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/core/SkBlitRow.h
diff --git a/include/core/SkBlitRow.h b/include/core/SkBlitRow.h
index 9393589b82b1b1f4c28bd3ebe3af9a01b231e42c..eb29cfce8e0c2687c7d14de3e4bf6355dcb46c65 100644
--- a/include/core/SkBlitRow.h
+++ b/include/core/SkBlitRow.h
@@ -26,17 +26,26 @@ public:
a corresponding scanline of 16bit colors (specific format based on the
config passed to the Factory.
- The x,y params are useful just for dithering
+ The x,y params provide the dithering phase for the start of the scanline
@param alpha A global alpha to be applied to all of the src colors
@param x The x coordinate of the beginning of the scanline
@param y THe y coordinate of the scanline
*/
- typedef void (*Proc)(uint16_t* dst,
- const SkPMColor* src,
- int count, U8CPU alpha, int x, int y);
+ typedef void (*Proc16)(uint16_t dst[], const SkPMColor src[], int count,
+ U8CPU alpha, int x, int y);
- static Proc Factory(unsigned flags, SkColorType);
+ static Proc16 Factory16(unsigned flags);
+
+ /**
+ * Function pointer that blends a single src color onto a scaline of dst colors.
+ *
+ * The x,y params provide the dithering phase for the start of the scanline
+ */
+ typedef void (*ColorProc16)(uint16_t dst[], SkPMColor src, int count, int x, int y);
+
+ // Note : we ignore the kGlobalAlpha_Flag setting, but do respect kSrcPixelAlpha_Flag
+ static ColorProc16 ColorFactory16(unsigned flags);
///////////// D32 version
@@ -51,34 +60,30 @@ public:
@param count number of colors to blend
@param alpha global alpha to be applied to all src colors
*/
- typedef void (*Proc32)(uint32_t* dst,
- const SkPMColor* src,
- int count, U8CPU alpha);
+ typedef void (*Proc32)(uint32_t dst[], const SkPMColor src[], int count, U8CPU alpha);
static Proc32 Factory32(unsigned flags32);
/** Function pointer that blends a single color with a row of 32-bit colors
onto a 32-bit destination
*/
- typedef void (*ColorProc)(SkPMColor* dst, const SkPMColor* src, int count,
- SkPMColor color);
+ typedef void (*ColorProc)(SkPMColor dst[], const SkPMColor src[], int count, SkPMColor color);
/** Blend a single color onto a row of S32 pixels, writing the result
into a row of D32 pixels. src and dst may be the same memory, but
if they are not, they may not overlap.
*/
- static void Color32(SkPMColor dst[], const SkPMColor src[],
- int count, SkPMColor color);
+ static void Color32(SkPMColor dst[], const SkPMColor src[], int count, SkPMColor color);
//! Public entry-point to return a blit function ptr
static ColorProc ColorProcFactory();
/** Function pointer that blends a single color onto a 32-bit rectangle. */
- typedef void (*ColorRectProc)(SkPMColor* dst, int width, int height,
+ typedef void (*ColorRectProc)(SkPMColor dst[], int width, int height,
size_t rowBytes, SkPMColor color);
/** Blend a single color into a rectangle of D32 pixels. */
- static void ColorRect32(SkPMColor* dst, int width, int height,
+ static void ColorRect32(SkPMColor dst[], int width, int height,
size_t rowBytes, SkPMColor color);
//! Public entry-point to return a blit function ptr
@@ -91,9 +96,11 @@ public:
*/
static Proc32 PlatformProcs32(unsigned flags);
- static Proc PlatformProcs565(unsigned flags);
static ColorProc PlatformColorProc();
+ static Proc16 PlatformFactory565(unsigned flags);
+ static ColorProc16 PlatformColorFactory565(unsigned flags);
+
private:
enum {
kFlags16_Mask = 7,
« no previous file with comments | « no previous file | src/core/SkBlitRow_D16.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698