CMGDK r49-rc2
公有成员 | 公有属性
hgl::VSBase类参考

虚拟屏幕基类 更多...

#include <VSBase.H>

继承图,类hgl::VSBase
hgl::_Object hgl::VS16Bitmap hgl::VS24Bitmap hgl::VS32Bitmap hgl::VS8Bitmap hgl::VSLumAlpha hgl::VSBGR hgl::VSRGB hgl::VSBGRA hgl::VSRGBA hgl::VSAlpha hgl::VSLum

所有成员的列表。

公有成员

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 ()
 关闭虚拟屏幕
uint8GetPointer ()
 取得数据缓冲指针(效果和Data一样,用于不便于使用Data的情况下)
virtual uint8GetPointer (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< intWidth
 虚拟屏幕宽度
Property< intHeight
 虚拟屏幕高度
Property< ColorType > Color
 色彩类型

详细描述

虚拟屏幕基类

虚拟屏幕基类提供统一的虚拟屏幕操作功能
别把它改成从Object派生,会出问题


构造及析构函数文档

hgl::VSBase::VSBase ( )

本类构造函数

hgl::VSBase::~VSBase ( ) [virtual]

本类析构函数


成员函数文档

void hgl::VSBase::Bar ( int  left,
int  top,
int  width,
int  height 
)

画矩形块

画矩形块,大left,top处为左上角,画宽width,高height大小的矩形块

参数:
left矩形块左边界坐标
top矩形块顶端界坐标
width矩形块宽度
height矩形块高度
void hgl::VSBase::Circle ( int  x,
int  y,
int  r 
)

画正圆

画正圆,以x,y为圆心,r为半径

参数:
x,y圆心坐标
r半径
void hgl::VSBase::Clear ( ) [inline]
void hgl::VSBase::Close ( ) [virtual]

关闭虚拟屏幕

关闭当前虚拟屏幕

virtual bool hgl::VSBase::Create ( int  ,
int   
) [pure virtual]

创建虚拟屏幕

hgl::VS16Bitmaphgl::VS24Bitmaphgl::VS32Bitmaphgl::VS8Bitmap内被实现。

void hgl::VSBase::CreateFromScreen ( int  left,
int  top,
int  width,
int  height 
)

创建基于真实屏幕内容

创建虚拟屏幕,使用来自真实屏幕的色彩数据

参数:
left,top取得数据的矩形区左上角坐标
width,height取得数据的矩形区大小
void hgl::VSBase::Draw ( int  x,
int  y,
float  scale_width = 1,
float  scale_height = 1 
)

绘制当前虚拟屏幕图片

绘制当前虚拟屏幕图片,该函数使用glRasterPos,glDrawPixels,所以不对所有的虚拟屏幕有效。

参数:
x,y绘制位置
scale_width,scale_height宽高缩放比
bool hgl::VSBase::DrawTo ( VSBase vs,
int  x,
int  y 
) [inline]

绘制当前VS内容到指定vs

bool hgl::VSBase::DrawTo ( VSBase target,
int  x,
int  y,
int  l,
int  t,
int  w,
int  h 
) [virtual]

绘制当前VS内容到指定vs

绘制当前VS到另一个VS

参数:
target要绘制到的VS
x,y要绘制到的坐标值
l,t,w,h要复制的源VS的范围
void hgl::VSBase::Ellipse ( int  x,
int  y,
int  hr,
int  vr 
)

画椭圆

画椭圆,以x,y为圆心,以hr,vr为半径

参数:
x,y圆心坐标
hr,vr横半径和纵半径
void hgl::VSBase::FlipUP ( )

上面翻转

uint8* hgl::VSBase::GetPointer ( ) [inline]

取得数据缓冲指针(效果和Data一样,用于不便于使用Data的情况下)

virtual uint8* hgl::VSBase::GetPointer ( int  ,
int   
) [pure virtual]

取某一位置的数据缓冲区指针

hgl::VS16Bitmaphgl::VS24Bitmaphgl::VS32Bitmaphgl::VS8Bitmap内被实现。

void hgl::VSBase::HLine ( int  x,
int  y,
int  n 
)

画水平线

画水平线,在x,y处开始画n个象素点长的水平线

参数:
x,y开始画水平线的坐标(水平线左端坐标)
n水平线长度(象素数)
bool hgl::VSBase::JoinCreate ( uint8 join_buffer,
int  width,
int  height,
int  stride 
) [virtual]

关联虚拟屏幕

关联一个虚拟屏幕,它不自行分配内存,从传入的参数中关联

参数:
join_buffer要关联的数据区
width虚拟屏幕宽度
height虚拟屏幕高度
stride一行数据到下一行数据内存位置相差的字节数
返回:
是否创建成功
bool hgl::VSBase::JoinCreate ( uint8 **  join_scanline,
int  width,
int  height 
) [virtual]

关联虚拟屏幕

关联一个虚拟屏幕,它不自行分配内存,从传入的参数中关联

参数:
join_scanline要关联的扫描线数据
width虚拟屏幕宽度
height虚拟屏幕高度
返回:
是否创建成功
void hgl::VSBase::Line ( int  x1,
int  y1,
int  x2,
int  y2 
)

画直线

画直线,从x1,y1处画到x2,y2处

参数:
x1,y1直线起始端坐标
x2,y2直线结束端坐标
void hgl::VSBase::PutPixel ( int  x,
int  y 
)

画点

在指定坐标(x,y)处画点

参数:
x,y画点的坐标
void hgl::VSBase::Rectangle ( int  left,
int  top,
int  width,
int  height 
)

画矩形框

画矩形框,大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

void hgl::VSBase::Sector ( int  x,
int  y,
int  r,
int  start_angle,
int  end_angle 
)

画扇形

绘制扇形

参数:
x,y扇形中心坐标
r扇形半径
start_angle起始角度 end_angle 结束角度
virtual void hgl::VSBase::SetColor ( int  ,
int  ,
int  ,
int  = 255 
) [pure virtual]
void hgl::VSBase::VLine ( int  x,
int  y,
int  n 
)

画垂直线

画垂直线,在x,y处开始画n个象素点长的垂直线

参数:
x,y开始画垂直线的坐标(垂直线的上端坐标)
n水平线的长度(象素数)

成员数据文档

通用格式的象素数据

虚拟屏幕高度

虚拟屏幕宽度


该类的文档由以下文件生成:
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义