TouchVG framework
Public 类型 | Public 成员函数 | 静态 Public 成员函数 | Private 成员函数 | Private 属性 | 所有成员列表
GiGraphics类 参考

图形系统类 更多...

#include <gigraph.h>

Public 类型

enum  {
  kAlignLeft = 0, kAlignCenter = 1, kAlignRight = 2, kAlignTop = 0,
  kAlignBottom = 0x10, kAlignVCenter = 0x20, kAlignHVCenter = kAlignCenter|kAlignVCenter
}
 

Public 成员函数

 GiGraphics ()
 构造函数,自动创建坐标系管理对象 更多...
 
 GiGraphics (GiTransform *xform, bool needFreeXf=false)
 构造函数,坐标系管理对象必须有效 更多...
 
 GiGraphics (const GiGraphics &src)
 拷贝构造函数 更多...
 
virtual ~GiGraphics ()
 析构函数 更多...
 
long toHandle () const
 得到句柄 更多...
 
void copy (const GiGraphics &src)
 复制指定对象到本对象 更多...
 
const GiTransformxf () const
 返回坐标系管理对象 更多...
 
bool isDrawing () const
 返回是否正在绘制,即调用了 beginPaint() 还未调用 endPaint() 更多...
 
bool isPrint () const
 返回是否打印或打印预览 更多...
 
bool isStopping () const
 返回是否需要停止绘图 更多...
 
void stopDrawing (bool stopped=true)
 标记需要停止绘图 更多...
 
Box2d getClipModel () const
 返回剪裁框,模型坐标 更多...
 
Box2d getClipWorld () const
 返回剪裁框,世界坐标 更多...
 
RECT_2DgetClipBox (RECT_2D &rc) const
 得到剪裁框,逻辑坐标 更多...
 
bool setClipBox (const RECT_2D &rc)
 设置剪裁框,逻辑坐标 更多...
 
bool setClipWorld (const Box2d &rectWorld)
 设置剪裁框,世界坐标 更多...
 
bool isGrayMode () const
 返回颜色模式 更多...
 
void setGrayMode (bool gray)
 设置颜色模式 更多...
 
GiColor getBkColor () const
 返回背景色(打印或打印预览时为白色) 更多...
 
GiColor setBkColor (const GiColor &color)
 设置新的背景色,返回原来的背景色 更多...
 
GiColor calcPenColor (const GiColor &color) const
 计算画笔颜色 更多...
 
float calcPenWidth (float lineWidth, bool useViewScale) const
 计算画笔宽度 更多...
 
void setMaxPenWidth (float pixels, float minw=1)
 设置最大画笔宽度,像素 更多...
 
bool setPhaseEnabled (bool enabled)
 是否允许虚线偏移量 更多...
 
bool drawLine (const GiContext *ctx, const Point2d &startPt, const Point2d &endPt, bool modelUnit=true)
 绘制直线段,模型坐标或世界坐标 更多...
 
bool drawRayline (const GiContext *ctx, const Point2d &startPt, const Point2d &endPt, bool modelUnit=true)
 绘制射线,模型坐标或世界坐标 更多...
 
bool drawBeeline (const GiContext *ctx, const Point2d &startPt, const Point2d &endPt, bool modelUnit=true)
 绘制无穷直线,模型坐标或世界坐标 更多...
 
bool drawLines (const GiContext *ctx, int count, const Point2d *points, bool modelUnit=true)
 绘制折线,模型坐标或世界坐标 更多...
 
bool drawBeziers (const GiContext *ctx, int count, const Point2d *points, bool closed=false, bool modelUnit=true)
 绘制多条三次贝塞尔曲线,模型坐标或世界坐标 更多...
 
bool drawBeziers (const GiContext *ctx, int count, const Point2d *knot, const Vector2d *knotvs, bool closed=false, bool modelUnit=true)
 绘制多条贝塞尔曲线,模型坐标或世界坐标 更多...
 
bool drawArc (const GiContext *ctx, const Point2d &center, float rx, float ry, float startAngle, float sweepAngle, bool modelUnit=true)
 绘制椭圆弧,模型坐标或世界坐标 更多...
 
bool drawArc3P (const GiContext *ctx, const Point2d &startpt, const Point2d &midpt, const Point2d &endpt, bool modelUnit=true)
 给定线上三点绘制椭圆弧,模型坐标或世界坐标 更多...
 
bool drawPolygon (const GiContext *ctx, int count, const Point2d *points, bool modelUnit=true)
 绘制并填充多边形,模型坐标或世界坐标 更多...
 
bool drawCircle (const GiContext *ctx, const Point2d &center, float r, bool modelUnit=true)
 绘制并填充圆,模型坐标或世界坐标 更多...
 
bool drawEllipse (const GiContext *ctx, const Point2d &center, float rx, float ry, bool modelUnit=true)
 绘制并填充椭圆,模型坐标或世界坐标 更多...
 
bool drawEllipse (const GiContext *ctx, const Box2d &rect, bool modelUnit=true)
 绘制并填充椭圆,模型坐标或世界坐标 更多...
 
bool drawPie (const GiContext *ctx, const Point2d &center, float rx, float ry, float startAngle, float sweepAngle, bool modelUnit=true)
 绘制并填充椭圆弧饼图,模型坐标或世界坐标 更多...
 
bool drawRect (const GiContext *ctx, const Box2d &rect, bool modelUnit=true)
 绘制并填充直角矩形,模型坐标或世界坐标 更多...
 
bool drawRoundRect (const GiContext *ctx, const Box2d &rect, float rx, float ry=0, bool modelUnit=true)
 绘制并填充圆角矩形,模型坐标或世界坐标 更多...
 
bool drawHermiteSplines (const GiContext *ctx, int count, const Point2d *knots, const Vector2d *knotvs, bool closed=false, bool modelUnit=true)
 绘制三次参数样条曲线(Hermite曲线),模型坐标或世界坐标 更多...
 
bool drawBSplines (const GiContext *ctx, int count, const Point2d *ctlpts, bool closed=false, bool modelUnit=true)
 绘制三次B样条曲线,模型坐标或世界坐标 更多...
 
bool drawQuadSplines (const GiContext *ctx, int count, const Point2d *ctlpts, bool closed=false, bool modelUnit=true)
 绘制二次B样条曲线,模型坐标或世界坐标 更多...
 
bool drawPath (const GiContext *ctx, const MgPath &path, bool fill, bool modelUnit=true)
 显示路径对象 更多...
 
bool drawHandle (const Point2d &pnt, int type, float angle=0, bool modelUnit=true)
 在给定中心位置显示特殊符号 更多...
 
float drawTextAt (int argb, const char *text, const Point2d &pnt, float h, int align=1, float angle=0)
 在给定模型坐标位置显示指定像素高的单行文本 更多...
 
bool beginPaint (GiCanvas *canvas, const RECT_2D &clipBox=RECT_2D())
 在显示适配类的 beginPaint() 中调用 更多...
 
void endPaint ()
 在显示适配类的 endPaint() 中调用 更多...
 
GiCanvasgetCanvas ()
 返回当前绘图画布对象 更多...
 
GiTransform_xf ()
 返回坐标系管理对象 更多...
 
bool rawLine (const GiContext *ctx, float x1, float y1, float x2, float y2)
 
bool rawLines (const GiContext *ctx, const Point2d *pxs, int count)
 
bool rawBeziers (const GiContext *ctx, const Point2d *pxs, int count, bool closed=false)
 
bool rawPolygon (const GiContext *ctx, const Point2d *pxs, int count)
 
bool rawRect (const GiContext *ctx, float x, float y, float w, float h)
 
bool rawEllipse (const GiContext *ctx, float x, float y, float w, float h)
 
bool rawBeginPath ()
 
bool rawEndPath (const GiContext *ctx, bool fill)
 
bool rawMoveTo (float x, float y)
 
bool rawLineTo (float x, float y)
 
bool rawBezierTo (float c1x, float c1y, float c2x, float c2y, float x, float y)
 
bool rawQuadTo (float cpx, float cpy, float x, float y)
 
bool rawClosePath ()
 
float rawText (const char *text, float x, float y, float h, int align=1)
 
bool rawImage (const char *name, float xc, float yc, float w, float h, float angle)
 
bool beginShape (int type, int sid, int version, float x, float y, float w, float h)
 
void endShape (int type, int sid, float x, float y)
 
float drawTextAt (GiTextWidthCallback *c, int argb, const char *text, const Point2d &pnt, float h, int align=1, float angle=0)
 

静态 Public 成员函数

static GiGraphicsfromHandle (long h)
 转为对象 更多...
 
static void setPenWidthFactor (float factor)
 设置像素线宽的放大系数 更多...
 

Private 成员函数

bool setPen (const GiContext *ctx)
 
bool setBrush (const GiContext *ctx)
 
bool _drawPolygon (const GiContext *ctx, int count, const Point2d *points, bool m2d, bool fill, bool edge, bool modelUnit)
 
bool drawPathWithArrayHead (const GiContext &ctx, MgPath &path, int startArray, int endArray)
 
void drawArrayHead (const GiContext &ctx, MgPath &path, int type, float px, float scale)
 
bool drawPath_ (const GiContext *ctx, const MgPath &path, bool fill, const Matrix2d &matD)
 
GiGraphicsoperator= (const GiGraphics &)
 

Private 属性

GiGraphicsImplm_impl
 内部实现 更多...
 

详细描述

图形系统类

本类用于显示各种图形,图元显示原语由外部的 GiCanvas 实现类来实现。 显示图形所用的坐标计算和坐标系转换是在 GiTransform 中定义的。


该类的文档由以下文件生成:

通用矢量图形框架, 版权所有 (C) 张云贵 2004-2017,BSD 开源许可证