~ubuntu-branches/ubuntu/karmic/gears/karmic

« back to all changes in this revision

Viewing changes to third_party/skia/src/core/SkBitmapProcShader.h

  • Committer: Bazaar Package Importer
  • Author(s): Stefan Lesicnik
  • Date: 2009-04-30 19:15:25 UTC
  • Revision ID: james.westby@ubuntu.com-20090430191525-0790sb5wzg8ou0xb
Tags: upstream-0.5.21.0~svn3334+dfsg
ImportĀ upstreamĀ versionĀ 0.5.21.0~svn3334+dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* libs/graphics/sgl/SkBitmapShader.h
 
2
**
 
3
** Copyright 2006, The Android Open Source Project
 
4
**
 
5
** Licensed under the Apache License, Version 2.0 (the "License"); 
 
6
** you may not use this file except in compliance with the License. 
 
7
** You may obtain a copy of the License at 
 
8
**
 
9
**     http://www.apache.org/licenses/LICENSE-2.0 
 
10
**
 
11
** Unless required by applicable law or agreed to in writing, software 
 
12
** distributed under the License is distributed on an "AS IS" BASIS, 
 
13
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 
14
** See the License for the specific language governing permissions and 
 
15
** limitations under the License.
 
16
*/
 
17
 
 
18
#ifndef SkBitmapProcShader_DEFINED
 
19
#define SkBitmapProcShader_DEFINED
 
20
 
 
21
#include "SkShader.h"
 
22
#include "SkBitmapProcState.h"
 
23
 
 
24
class SkBitmapProcShader : public SkShader {
 
25
public:
 
26
    SkBitmapProcShader(const SkBitmap& src, TileMode tx, TileMode ty);
 
27
 
 
28
    // overrides from SkShader
 
29
    virtual bool setContext(const SkBitmap&, const SkPaint&, const SkMatrix&);
 
30
    virtual uint32_t getFlags() { return fFlags; }
 
31
    virtual void shadeSpan(int x, int y, SkPMColor dstC[], int count);
 
32
    virtual void shadeSpan16(int x, int y, uint16_t dstC[], int count);
 
33
    virtual void beginSession();
 
34
    virtual void endSession();
 
35
    virtual bool asABitmap(SkBitmap*, SkMatrix*, TileMode*);
 
36
 
 
37
    static bool CanDo(const SkBitmap&, TileMode tx, TileMode ty);
 
38
 
 
39
    static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) { 
 
40
        return SkNEW_ARGS(SkBitmapProcShader, (buffer));
 
41
    }
 
42
 
 
43
    // override from flattenable
 
44
    virtual bool toDumpString(SkString* str) const;
 
45
 
 
46
protected:
 
47
    SkBitmapProcShader(SkFlattenableReadBuffer& );
 
48
    virtual void flatten(SkFlattenableWriteBuffer& );
 
49
    virtual Factory getFactory() { return CreateProc; }
 
50
 
 
51
    SkBitmap          fRawBitmap;   // experimental for RLE encoding
 
52
    SkBitmapProcState fState;
 
53
    uint32_t          fFlags;
 
54
 
 
55
private:    
 
56
    typedef SkShader INHERITED;
 
57
};
 
58
 
 
59
#endif