1234567891011121314151617181920212223242526272829303132333435363738 |
- /*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
- #ifndef SkBlitRow_DEFINED
- #define SkBlitRow_DEFINED
- #include "include/core/SkBitmap.h"
- #include "include/core/SkColor.h"
- class SkBlitRow {
- public:
- enum Flags32 {
- kGlobalAlpha_Flag32 = 1 << 0,
- kSrcPixelAlpha_Flag32 = 1 << 1
- };
- /** Function pointer that blends 32bit colors onto a 32bit destination.
- @param dst array of dst 32bit colors
- @param src array of src 32bit colors (w/ or w/o alpha)
- @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);
- static Proc32 Factory32(unsigned flags32);
- /** 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);
- };
- #endif
|