CMGDK r49-rc2
|
虚拟屏幕基类 更多...
#include <VSBase.H>
公有成员 | |
void | Clear () |
void | PutPixel (int, int) |
画点 | |
void | HLine (int, int, int) |
画水平线 | |
void | VLine (int, int, int) |
画垂直线 | |
void | Line (int, int, int, int) |
画直线 | |
void | Rectangle (int, int, int, int) |
画矩形框 | |
void | Bar (int, int, int, int) |
画矩形块 | |
void | Circle (int, int, int) |
画正圆 | |
void | Ellipse (int, int, int, int) |
画椭圆 | |
void | Sector (int, int, int, int, int) |
画扇形 | |
virtual void | SetColor (int, int, int, int=255)=0 |
设置颜色 | |
VSBase () | |
本类构造函数 | |
virtual | ~VSBase () |
本类析构函数 | |
virtual bool | Create (int, int)=0 |
创建虚拟屏幕 | |
void | CreateFromScreen (int, int, int, int) |
创建基于真实屏幕内容 | |
virtual bool | JoinCreate (uint8 **, int, int) |
关联虚拟屏幕 | |
virtual bool | JoinCreate (uint8 *, int, int, int) |
关联虚拟屏幕 | |
virtual void | Close () |
关闭虚拟屏幕 | |
uint8 * | GetPointer () |
取得数据缓冲指针(效果和Data一样,用于不便于使用Data的情况下) | |
virtual uint8 * | GetPointer (int, int)=0 |
取某一位置的数据缓冲区指针 | |
void | FlipUP () |
上面翻转 | |
virtual bool | DrawTo (VSBase *, int, int, int, int, int, int) |
绘制当前VS内容到指定vs | |
bool | DrawTo (VSBase *vs, int x, int y) |
绘制当前VS内容到指定vs | |
void | Draw (int, int, float=1, float=1) |
绘制当前虚拟屏幕图片 | |
bool | SaveToHGP (const wchar_t *, const wchar_t *ca=L"RLE", float level=1) |
保存成HGP | |
bool | SaveToTEX (const wchar_t *, const wchar_t *ca=L"RLE", float level=1) |
保存成TEX | |
bool | SaveToFile (const wchar_t *) |
保存成其它格式 | |
公有属性 | |
Property< uint8 * > | Data |
通用格式的象素数据 | |
Property< int > | Width |
虚拟屏幕宽度 | |
Property< int > | Height |
虚拟屏幕高度 | |
Property< ColorType > | Color |
色彩类型 |
虚拟屏幕基类
虚拟屏幕基类提供统一的虚拟屏幕操作功能
别把它改成从Object派生,会出问题
hgl::VSBase::VSBase | ( | ) |
本类构造函数
hgl::VSBase::~VSBase | ( | ) | [virtual] |
本类析构函数
画矩形块
画矩形块,大left,top处为左上角,画宽width,高height大小的矩形块
left | 矩形块左边界坐标 |
top | 矩形块顶端界坐标 |
width | 矩形块宽度 |
height | 矩形块高度 |
void hgl::VSBase::Clear | ( | ) | [inline] |
void hgl::VSBase::Close | ( | ) | [virtual] |
关闭虚拟屏幕
关闭当前虚拟屏幕
创建虚拟屏幕
在hgl::VS16Bitmap、hgl::VS24Bitmap、hgl::VS32Bitmap及hgl::VS8Bitmap内被实现。
创建基于真实屏幕内容
创建虚拟屏幕,使用来自真实屏幕的色彩数据
left,top | 取得数据的矩形区左上角坐标 |
width,height | 取得数据的矩形区大小 |
绘制当前虚拟屏幕图片
绘制当前虚拟屏幕图片,该函数使用glRasterPos,glDrawPixels,所以不对所有的虚拟屏幕有效。
x,y | 绘制位置 |
scale_width,scale_height | 宽高缩放比 |
绘制当前VS内容到指定vs
绘制当前VS到另一个VS
target | 要绘制到的VS |
x,y | 要绘制到的坐标值 |
l,t,w,h | 要复制的源VS的范围 |
画椭圆
画椭圆,以x,y为圆心,以hr,vr为半径
x,y | 圆心坐标 |
hr,vr | 横半径和纵半径 |
void hgl::VSBase::FlipUP | ( | ) |
上面翻转
uint8* hgl::VSBase::GetPointer | ( | ) | [inline] |
取得数据缓冲指针(效果和Data一样,用于不便于使用Data的情况下)
取某一位置的数据缓冲区指针
在hgl::VS16Bitmap、hgl::VS24Bitmap、hgl::VS32Bitmap及hgl::VS8Bitmap内被实现。
画水平线
画水平线,在x,y处开始画n个象素点长的水平线
x,y | 开始画水平线的坐标(水平线左端坐标) |
n | 水平线长度(象素数) |
关联虚拟屏幕
关联一个虚拟屏幕,它不自行分配内存,从传入的参数中关联
join_buffer | 要关联的数据区 |
width | 虚拟屏幕宽度 |
height | 虚拟屏幕高度 |
stride | 一行数据到下一行数据内存位置相差的字节数 |
关联虚拟屏幕
关联一个虚拟屏幕,它不自行分配内存,从传入的参数中关联
join_scanline | 要关联的扫描线数据 |
width | 虚拟屏幕宽度 |
height | 虚拟屏幕高度 |
画直线
画直线,从x1,y1处画到x2,y2处
x1,y1 | 直线起始端坐标 |
x2,y2 | 直线结束端坐标 |
画矩形框
画矩形框,大left,top处为左上角,画宽width,高height大小的矩形框
left | 矩形框左边界坐标 |
top | 矩形框顶端界坐标 |
width | 矩形框宽度 |
height | 矩形框高度 |
bool hgl::VSBase::SaveToFile | ( | const wchar_t * | filename | ) |
保存成其它格式
bool hgl::VSBase::SaveToHGP | ( | const wchar_t * | filename, |
const wchar_t * | ca = L"RLE" , |
||
float | level = 1 |
||
) |
保存成HGP
bool hgl::VSBase::SaveToTEX | ( | const wchar_t * | filename, |
const wchar_t * | ca = L"RLE" , |
||
float | level = 1 |
||
) |
保存成TEX
画扇形
绘制扇形
x,y | 扇形中心坐标 |
r | 扇形半径 |
start_angle | 起始角度 end_angle 结束角度 |
画垂直线
画垂直线,在x,y处开始画n个象素点长的垂直线
x,y | 开始画垂直线的坐标(垂直线的上端坐标) |
n | 水平线的长度(象素数) |
Property<ColorType> hgl::VSBase::Color |
通用格式的象素数据
虚拟屏幕高度
虚拟屏幕宽度