e16efc1882
git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
42 lines
1014 B
C++
42 lines
1014 B
C++
|
|
/*
|
|
* Copyright 2010 Google Inc.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
|
|
|
|
#ifndef GrFontScaler_DEFINED
|
|
#define GrFontScaler_DEFINED
|
|
|
|
#include "GrGlyph.h"
|
|
#include "GrKey.h"
|
|
|
|
class SkPath;
|
|
|
|
/**
|
|
* This is a virtual base class which Gr's interface to the host platform's
|
|
* font scaler.
|
|
*
|
|
* The client is responsible for subclassing, and instantiating this. The
|
|
* instance is create for a specific font+size+matrix.
|
|
*/
|
|
class GrFontScaler : public GrRefCnt {
|
|
public:
|
|
SK_DECLARE_INST_COUNT(GrFontScaler)
|
|
|
|
virtual const GrKey* getKey() = 0;
|
|
virtual GrMaskFormat getMaskFormat() = 0;
|
|
virtual bool getPackedGlyphBounds(GrGlyph::PackedID, GrIRect* bounds) = 0;
|
|
virtual bool getPackedGlyphImage(GrGlyph::PackedID, int width, int height,
|
|
int rowBytes, void* image) = 0;
|
|
virtual bool getGlyphPath(uint16_t glyphID, SkPath*) = 0;
|
|
|
|
private:
|
|
typedef GrRefCnt INHERITED;
|
|
};
|
|
|
|
#endif
|