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

内核视图分发器类 更多...

#include <gicoreview.h>

类 GiCoreView 继承关系图:
Inheritance graph

Public 类型

enum  { kNoCmdType = -1, kTestType = 0, kNormalType = 1 }
 
- Public 类型 继承自 MgCoreView
enum  {
  kMgSquare, kMgClosed, kMgFixedLength, kMgFixedSize,
  kMgRotateDisnable, kMgLocked, kMgNoSnap, kMgNoAction,
  kMgNoClone, kMgHideContent, kMgNoDel, kMgCanSelLocked,
  kMgNotAddRel, kMgNotShowSnap, kMgCanAddVertex
}
 

Public 成员函数

void destoryView (GiView *view)
 销毁内核视图 更多...
 
long acquireGraphics (GiView *view)
 获取前端 GiGraphics 的句柄 更多...
 
void releaseGraphics (long gs)
 释放 GiGraphics 句柄 更多...
 
int acquireFrontDocs (mgvector< long > &docs)
 获取前端图形文档的句柄 更多...
 
int getSkipDrawIds (mgvector< int > &ids)
 获取不在静态图形中显示的图形ID 更多...
 
int acquireDynamicShapesArray (mgvector< long > &shapes)
 获取前端图形列表的句柄 更多...
 
int drawAll (long doc, long gs, GiCanvas *canvas)
 显示所有图形 更多...
 
int drawAll (const mgvector< long > &docs, long gs, GiCanvas *canvas)
 显示所有图形 更多...
 
int drawAll (const mgvector< long > &docs, long gs, GiCanvas *canvas, const mgvector< int > &ignoreIds)
 显示除特定ID外的图形 更多...
 
int drawAppend (long doc, long gs, GiCanvas *canvas, int sid)
 显示新图形 更多...
 
int dynDraw (long shapes, long gs, GiCanvas *canvas)
 显示动态图形 更多...
 
int dynDraw (const mgvector< long > &shapes, long gs, GiCanvas *canvas)
 显示动态图形 更多...
 
int drawAll (GiView *view, GiCanvas *canvas)
 显示所有图形,主线程中用 更多...
 
int drawAppend (GiView *view, GiCanvas *canvas, int sid)
 显示新图形,主线程中用 更多...
 
int dynDraw (GiView *view, GiCanvas *canvas)
 显示动态图形,主线程中用 更多...
 
int setBkColor (GiView *view, int argb)
 设置背景颜色 更多...
 
void onSize (GiView *view, int w, int h)
 设置视图的宽高 更多...
 
void setViewScaleRange (GiView *view, float minScale, float maxScale)
 设置显示比例范围 更多...
 
void setPenWidthRange (GiView *view, float minw, float maxw)
 设置画笔宽度范围 更多...
 
void setGestureVelocity (GiView *view, float vx, float vy)
 
bool onGesture (GiView *view, GiGestureType type, GiGestureState state, float x, float y, bool switchGesture=false)
 传递单指触摸手势消息 更多...
 
bool twoFingersMove (GiView *view, GiGestureState state, float x1, float y1, float x2, float y2, bool switchGesture=false)
 传递双指移动手势(可放缩旋转) 更多...
 
bool submitBackDoc (GiView *view, bool changed)
 提交静态图形到前端,在UI的regen回调中用 更多...
 
bool submitDynamicShapes (GiView *view)
 提交动态图形到前端,需要并发保护 更多...
 
float calcPenWidth (GiView *view, float lineWidth)
 计算画笔的像素宽度 更多...
 
GiGestureType getGestureType ()
 得到当前手势类型 更多...
 
GiGestureState getGestureState ()
 得到当前手势状态 更多...
 
bool isZoomEnabled (GiView *view)
 是否允许放缩显示 更多...
 
void setZoomEnabled (GiView *view, bool enabled)
 设置是否允许放缩显示 更多...
 
int exportSVG (long doc, long gs, const char *filename)
 导出图形到SVG文件 更多...
 
int exportSVG (GiView *view, const char *filename)
 导出图形到SVG文件,主线程中用 更多...
 
bool startRecord (const char *path, long doc, bool forUndo, long curTick, MgStringCallback *c=(MgStringCallback *) 0)
 开始录制图形,自动释放,在主线程用 更多...
 
void stopRecord (bool forUndo)
 停止录制图形 更多...
 
bool recordShapes (bool forUndo, long tick, long changeCount, long doc, long shapes)
 录制图形,自动释放 更多...
 
bool recordShapes (bool forUndo, long tick, long changeCount, long doc, long shapes, const mgvector< long > *exts, MgStringCallback *c=(MgStringCallback *) 0)
 录制图形,自动释放 更多...
 
bool undo (GiView *view)
 撤销, 需要并发访问保护 更多...
 
bool redo (GiView *view)
 重做, 需要并发访问保护 更多...
 
bool onPause (long curTick)
 暂停 更多...
 
bool onResume (long curTick)
 继续 更多...
 
bool restoreRecord (int type, const char *path, long doc, long changeCount, int index, int count, int tick, long curTick)
 恢复录制 更多...
 
void traverseOptions (MgOptionCallback *c)
 遍历选项 更多...
 
void setOptionBool (const char *name, bool value)
 设置或清除布尔选项值 更多...
 
void setOptionInt (const char *name, int value)
 设置或清除整型选项值 更多...
 
void setOptionFloat (const char *name, float value)
 设置或清除浮点型选项值 更多...
 
void setOptionString (const char *name, const char *value)
 设置或清除文本选项值 更多...
 
void release ()
 释放引用计数,为0时销毁对象 更多...
 
void addRef ()
 添加引用计数 更多...
 
bool isPressDragging ()
 是否按下并拖动 更多...
 
bool isDrawingCommand ()
 当前是否为绘图命令 更多...
 
bool isCommand (const char *name)
 当前是否为指定名称的命令 更多...
 
long viewDataHandle ()
 内部数据句柄, 可转换为 GiCoreViewData 指针 更多...
 
long viewAdapterHandle ()
 命令视图回调适配器的句柄, 可转换为 MgView 指针 更多...
 
long backDoc ()
 图形文档的句柄, 用 MgShapeDoc::fromHandle() 转换 更多...
 
long backShapes ()
 当前图形列表的句柄, 用 MgShapes::fromHandle() 转换 更多...
 
long acquireFrontDoc ()
 获取前端图形文档的句柄, 需要并发访问保护 更多...
 
long acquireFrontDoc (long playh)
 获取指定数据源的前端图形文档的句柄 更多...
 
long acquireDynamicShapes ()
 获取动态图形列表的句柄, 需要并发访问保护 更多...
 
bool isDrawing ()
 返回是否正在绘制静态图形 更多...
 
bool isZooming ()
 返回是否正在动态放缩显示 更多...
 
bool isStopping ()
 返回是否需要停止绘图 更多...
 
int stopDrawing (bool stop=true)
 标记需要停止绘图 更多...
 
bool isUndoRecording () const
 是否正在Undo录制 更多...
 
bool isRecording () const
 是否正在录屏 更多...
 
bool isPlaying () const
 是否处于播放模式 更多...
 
bool isPaused () const
 返回是否已暂停 更多...
 
long getRecordTick (bool forUndo, long curTick)
 得到已开始的相对毫秒时刻 更多...
 
bool isUndoLoading () const
 是否正加载文档 更多...
 
bool canUndo () const
 能否撤销 更多...
 
bool canRedo () const
 能否重做 更多...
 
int getRedoIndex () const
 得到当前Undo位置 更多...
 
int getRedoCount () const
 得到Undo文件数 更多...
 
long getFrameTick ()
 得到当前帧的相对毫秒时刻 更多...
 
int getFrameFlags ()
 得到当前帧的改动标志 更多...
 
int getFrameIndex () const
 得到已播放的帧数 更多...
 
const char * getCommand () const
 返回当前命令名称 更多...
 
bool setCommand (const char *name, const char *params="")
 启动命令 更多...
 
bool switchCommand ()
 切换到下一命令 更多...
 
bool doContextAction (int action)
 执行上下文动作 更多...
 
void clearCachedData ()
 释放临时数据内存,未做线程保护 更多...
 
int addShapesForTest (int n=1000)
 添加测试图形 更多...
 
int getShapeCount ()
 返回后端文档的图形总数 更多...
 
int getShapeCount (long doc)
 返回前端文档的图形总数 更多...
 
int getUnlockedShapeCount (int type=0)
 返回未锁定的可见图形的个数 更多...
 
int getVisibleShapeCount (int type=0)
 返回可见图形的个数 更多...
 
long getChangeCount ()
 返回静态图形改变次数,可用于检查是否需要保存 更多...
 
long getDrawCount () const
 返回已绘制次数,可用于录屏 更多...
 
int getSelectedShapeCount ()
 返回选中的图形个数 更多...
 
int getSelectedShapeType ()
 返回选中的图形的类型, MgShapeType 更多...
 
int getSelectedShapeID ()
 返回当前选中的图形的ID,选中多个时只取第一个 更多...
 
int getSelectedHandle ()
 返回当前线性图形中当前控制点序号 更多...
 
void getSelectedShapeIDs (mgvector< int > &ids)
 返回当前选中的图形的ID 更多...
 
void setSelectedShapeIDs (const mgvector< int > &ids)
 选中指定ID的图形 更多...
 
void clear ()
 删除所有图形,包括锁定的图形 更多...
 
bool loadFromFile (const char *vgfile, bool readOnly=false)
 从文件或JSON串中加载 更多...
 
bool saveToFile (long doc, const char *vgfile, bool pretty=false)
 保存图形 更多...
 
bool loadShapes (MgStorage *s, bool readOnly=false)
 从数据源中加载图形 更多...
 
bool saveShapes (long doc, MgStorage *s)
 保存图形到数据源 更多...
 
const char * getContent (long doc)
 得到图形的JSON内容,需要调用 freeContent() 更多...
 
void freeContent ()
 释放 getContent() 产生的缓冲资源 更多...
 
bool setContent (const char *content, bool readOnly=false)
 从JSON内容中加载图形 更多...
 
bool zoomToInitial ()
 放缩到文档初始状态 更多...
 
bool zoomToExtent (float margin=2)
 放缩显示全部内容到视图区域 更多...
 
bool zoomToModel (float x, float y, float w, float h, float margin=2)
 放缩显示指定范围到视图区域 更多...
 
bool zoomPan (float dxPixel, float dyPixel, bool adjust=true)
 平移显示 更多...
 
GiContextgetContext (bool forChange)
 当前绘图属性,可用 calcPenWidth() 计算线宽 更多...
 
void setContext (const GiContext &ctx, int mask, int apply)
 绘图属性改变后提交更新 更多...
 
void setContext (int mask)
 绘图属性改变后提交更新 更多...
 
bool getShapeFlag (int sid, int bit)
 返回图形标志, kMgNoSnap 等位值 更多...
 
bool setShapeFlag (int sid, int bit, bool on)
 设置图形标志 更多...
 
void setContextEditing (bool editing)
 设置线条属性是否正在动态修改. getContext(false)将重置为未动态修改. 更多...
 
int addImageShape (const char *name, float width, float height)
 添加一个容纳图像的矩形图形 更多...
 
int addImageShape (const char *name, float xc, float yc, float w, float h, int tag)
 添加一个容纳图像的矩形图形 更多...
 
bool getImageSize (mgvector< float > &info, int sid)
 获取图像(MgImageShape)的原始图像宽高、显示宽高、角度(orgw, orgh, w, h, angle) 更多...
 
bool hasImageShape (long doc)
 返回是否有容纳图像的图形对象 更多...
 
int findShapeByImageID (long doc, const char *name)
 查找指定名称的图像对应的图形对象ID 更多...
 
int findShapeByTag (long doc, int tag)
 查找指定Tag的图形对象ID 更多...
 
int traverseImageShapes (long doc, MgFindImageCallback *c)
 遍历有容纳图像的图形对象 更多...
 
bool getViewModelBox (mgvector< float > &box)
 返回当前视图区域的模型坐标范围,模型坐标(left, top, right, bottom) 更多...
 
bool getModelBox (mgvector< float > &box)
 返回后端文档的模型坐标范围,模型坐标(left, top, right, bottom) 更多...
 
bool getModelBox (mgvector< float > &box, int shapeId)
 返回后端文档中指定ID的模型坐标范围,模型坐标(left, top, right, bottom) 更多...
 
bool getHandlePoint (mgvector< float > &xy, int shapeId, int index)
 得到指定序号的控制点的模型坐标 更多...
 
bool getDisplayExtent (mgvector< float > &box)
 返回后端文档的图形显示范围,四个点单位坐标(left, top, right, bottom) 更多...
 
bool getDisplayExtent (long doc, long gs, mgvector< float > &box)
 返回前端文档的图形显示范围,四个点单位坐标(left, top, right, bottom) 更多...
 
bool getBoundingBox (mgvector< float > &box)
 返回选择包络框,四个点单位坐标(left, top, right, bottom) 更多...
 
bool getBoundingBox (mgvector< float > &box, int shapeId)
 返回后端文档中指定ID的图形的包络框,四个点单位坐标(left, top, right, bottom) 更多...
 
bool getBoundingBox (long doc, long gs, mgvector< float > &box, int shapeId)
 返回前端文档中指定ID的图形的包络框,四个点单位坐标(left, top, right, bottom) 更多...
 
bool displayToModel (mgvector< float > &d)
 视图坐标转为模型坐标,可传入2或4个分量 更多...
 
int importSVGPath (long shapes, int sid, const char *d)
 用SVG路径的d坐标序列创建或设置图形形状,成功返回图形ID(未重新显示),失败返回0 更多...
 
int exportSVGPath (long shapes, int sid, char *buf, int size)
 输出SVG路径的d坐标序列,返回复制的长度或应分配的长度(不含结束符) 更多...
 
- Public 成员函数 继承自 MgCoreView
virtual ~MgCoreView ()
 
long toHandle () const
 得到句柄,用于跨库转换 更多...
 
long getPlayingTick (long curTick)
 得到已播放的毫秒数 更多...
 
void getCommand (MgStringCallback *c)
 得到当前命令名称 更多...
 
bool saveToFile (const char *vgfile, bool pretty=false)
 保存图形,主线程中用 更多...
 
bool saveShapes (MgStorage *s)
 保存图形到数据源,主线程中用 更多...
 
const char * getContent ()
 得到图形内容,需调用 freeContent(),主线程中用 更多...
 
void getContent (long doc, MgStringCallback *c)
 得到图形的JSON内容,自动 freeContent() 更多...
 
void getContent (MgStringCallback *c)
 得到图形的JSON内容,主线程中用 更多...
 
bool exportSVGPath2 (MgStringCallback *c, long shapes, int sid)
 输出SVG路径的d坐标序列 更多...
 

静态 Public 成员函数

static GiCoreViewcreateView (GiView *view, int type=kNormalType)
 创建内核视图 更多...
 
static GiCoreViewcreateMagnifierView (GiView *newview, GiCoreView *mainView, GiView *mainDevView)
 创建放大镜视图 更多...
 
static void releaseDocs (const mgvector< long > &docs)
 释放文档句柄 更多...
 
static void releaseShapesArray (const mgvector< long > &shapes)
 释放图形列表句柄 更多...
 
static void setScreenDpi (int dpi, float factor=1.f)
 设置屏幕的点密度和UI放缩系数 更多...
 
static int getVersion ()
 得到内核版本号 更多...
 
- 静态 Public 成员函数 继承自 MgCoreView
static MgCoreViewfromHandle (long h)
 转为对象 更多...
 
static void releaseDoc (long doc)
 释放 acquireFrontDoc() 得到的文档句柄 更多...
 
static void releaseShapes (long shapes)
 释放 acquireDynamicShapes() 得到的图形列表句柄 更多...
 

Private 成员函数

 GiCoreView (GiCoreView *mainView=(GiCoreView *) 0)
 
 GiCoreView (GiView *view, int type)
 
virtual ~GiCoreView ()
 
void createView_ (GiView *view, int type=1)
 创建内核视图 更多...
 
void createMagnifierView_ (GiView *newview, GiView *mainView)
 创建放大镜视图 更多...
 

Private 属性

GiCoreViewImplimpl
 
volatile long refcount
 

详细描述

内核视图分发器类

本对象拥有图形文档对象,负责显示和手势动作的分发。


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

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