import { IObject } from "soui4/IObject"; export class ISkinObj extends IObject{ /** * DrawByState * @brief 将this绘制到RenderTarget上去 * @param pRT:IRenderTarget -- 绘制用的RenderTarget * @param rcDraw:LPCRECT -- 绘制位置 * @param dwState:DWORD -- 绘制状态 * @param byAlpha:byte -- 绘制透明度 * @return void * Describe */ DrawByState2( pRT:IRenderTarget, rcDraw:LPCRECT, dwState:DWORD, byAlpha:byte) :void; /** * DrawByState * @brief 将this绘制到RenderTarget上去 * @param pRT:IRenderTarget -- 绘制用的RenderTarget * @param rcDraw:LPCRECT -- 绘制位置 * @param dwState:DWORD -- 绘制状态 * @return void * Describe 使用SkinObj的GetAlpha属性绘制 */ DrawByState( pRT:IRenderTarget, rcDraw:LPCRECT, dwState:DWORD) :void; /** * DrawByIndex * @brief 将this绘制到RenderTarget上去 * @param pRT:IRenderTarget -- 绘制用的RenderTarget * @param rcDraw:LPCRECT -- 绘制位置 * @param int iState -- 绘制Index * @param byAlpha:byte -- 绘制透明度 * @return void * Describe */ DrawByIndex2( pRT:IRenderTarget, rcDraw:LPCRECT, iState:int, byAlpha:byte) :void; /** * DrawByIndex * @brief 将this绘制到RenderTarget上去 * @param pRT:IRenderTarget -- 绘制用的RenderTarget * @param rcDraw:LPCRECT -- 绘制位置 * @param int iState -- 绘制Index * @return void * Describe 使用SkinObj的GetAlpha属性绘制 */ DrawByIndex( pRT:IRenderTarget, rcDraw:LPCRECT, iState:int):void; /** * GetSkinSize * @brief 获得Skin的默认大小 * @return SIZE -- Skin的默认大小 * Describe 派生类应该根据skin的特点实现该接口 */ GetSkinSize() :SIZE; /** * GetStates * @brief 获得skin对象包含的状态数量 * @return int -- 状态数量 * Describe 默认为1 */ GetStates() :int; /** * GetAlpha * @brief 获得skin对象包含透明度 * @return BYTE -- 透明度 * Describe [0-255] */ GetAlpha() :byte; /** * SetAlpha * @brief 设定skin对象包含透明度 * @param byAlpha:byte-- 透明度 * @return void * Describe */ SetAlpha(byAlpha:byte) :void; /** * GetScale * @brief 获取放大比例 * @return int 放大比例 * Describe */ GetScale() :int; /** * Scale * @brief 将当前Skin按照指定比例缩放 * @param int nScale -- 放大比例 * @return ISkinObj * -- 缩放后的SkinObj * Describe */ Scale(nScale:int ) :ISkinObj; }