#ifndef __XSROLL_H__
#define __XSROLL_H__ #include "CocoHead.h"
#include "XWindow.h" class ENGINE_API CXSroll : public CXWindow
{
public:
enum XSrollType
{
_SrollDirectionVertical = , //垂直
_SrollDirectionHorizontal = , //水平
_SrollVerticalTable = , //垂直选项(Table类型)
_SrollHorizontalTable = , //水平选项(Table类型)
_SrollDirectionBoth = ,
}; public:
CXSroll();
virtual ~CXSroll(); static CXSroll* create(int nId, CCPoint tPos, CCRect rect, const char* psPic = NULL, CXWindow* pParentWnd = NULL); virtual bool init( int nId, CCPoint tPos, CCRect rect, const char* psPic = NULL, CXWindow* pParentWnd = NULL ); virtual UI_TYPE getUIType(); void setSrollType(CXSroll::XSrollType eSrollType);
CXSroll::XSrollType getSrollType(); void addItem(CXWindow* pWnd);
void addItem(CXWindow* pWnd, int nZOrder); void setBounds(float fBounds);
float getBounds(); CXWindow* getItemChildById(int nItemId, int nChildId);
deque<CXWindow*>* getItemDequeById(int nItemId);
map<CXWindow*, deque<CXWindow*> >& getMapItem(); void setTouchDistribute(bool bDistribute); void setItemEnabled(unsigned int wIndex,unsigned int wCount); void setDisableDrag(bool bDisable); protected: virtual void visit(); virtual bool onMouseDown(CCTouch *pTouch, CCEvent *pEvent);
virtual void onMouseUp(CCTouch *pTouch, CCEvent *pEvent);
virtual void onMouseMove(CCTouch *pTouch, CCEvent *pEvent); void setItemPos(CXWindow* pWnd); void deaccelerateScrolling(float dt); void clippingToBounds(float dt); private:
CCNode* m_pContainer;
map<CXWindow*, deque<CXWindow*> > m_mapItem; //集装箱字典
deque<CXWindow*> m_dequeItem;
vector<CXWindow*> m_vecItem;//防止m_mapItem无序 XSrollType m_eSrollType;
float m_fItemPosLenght; //总长度 bool m_bSelected;
CCPoint m_tUnitMoveDist;
CCPoint m_tOriginalPos;
CCPoint m_tEndPos; CCPoint m_tContainerDownPos;
CCPoint m_tContainerUpPos;
CCPoint m_tContainerDragDist; unsigned int m_nTableFocusIndex;
float m_fBounds;
int m_nTableDragDistFold; //
CXWindow* m_pFocusWnd;
bool m_bFocusWndClick;
bool m_bDistributeTouch; bool m_bDisableDrag; }; #endif//__XSROLL_H__

ENGINE_API CXSroll的更多相关文章

  1. ENGINE_API CXNoTouch

    /************************************************************************/ //屏蔽消息面板 //优先级默认为 TP_BOTT ...

  2. 《Note --- Unreal 4 --- Sample analyze --- StrategyGame(continue...)》

    ---------------------------------------------------------------------------------------------------- ...

  3. 《InsideUE4》-10-GamePlay架构(九)GameInstance

    一人之下,万人之上 引言 上篇我们讲到了UE在World之上,继续抽象出了Player的概念,包含了本地的ULocalPlayer和网络的UNetConnection,并以此创建出了World中的Pl ...

  4. 《InsideUE4》-8-GamePlay架构(七)GameMode和GameState

    我的世界,我做主 引言 上文我们说到在Actor层次,UE用Controller来充当APawn的逻辑控制者,也有了可以接受玩家输入的PlayerController,和能自行行动的AIControl ...

  5. 《InsideUE4》-4-GamePlay架构(三)WorldContext,GameInstance,Engine

    Tags: InsideUE4 UE4深入学习QQ群: 456247757 引言 前文提到说一个World管理多个Level,并负责它们的加载释放.那么,问题来了,一个游戏里是只有一个World吗? ...

  6. ShooterGame 学习笔记1 PlayerPawn的两个Mesh的可见性

    GameMode Override 为 ShooterGame_TeamDeathMatch GameMode中设置的Default Pawn Class 为 PlayerPawn , PlayerP ...

  7. UE4里的渲染线程

    记的上次看过UniRx里的源代码,说是参考微软的响应式编程框架,响应式编程里的一些理论不细说,只单说UniRx里的事件流里的事件压入与执行,与UE4的渲染线程设计有很多相同之处,如果有了解响应式编程相 ...

  8. [UE4GamePlay架构(九)GameInstance(转)

    GameInstance这个类可以跨关卡存在,它不会因为切换关卡或者切换游戏模式而被销毁.然而,GameMode和PlayController就会再切换关卡或者游戏模式时被引擎销毁重置,这样他们里面的 ...

  9. CWidgetMgr---cpp

    #include "WidgetMgr.h" #include "XWidget.h" #include "Config.h" #inclu ...

随机推荐

  1. sql 循环插入某一条数据

    declare @i int set @i=1 while @i<(10000)begin INSERT INTO [Table]( [IDi] ,[IDo] ,[Synci] ) ( SELE ...

  2. 关于新一代Android的一切Android L (2014-07-04)

    谷歌在今年的I/O大会上一改曾经的传统,由发布新版Android改为发布Android L的开发者预览版本,而其正式版本将会在今年秋天面世,这种方式将会方便开发者在正式版发布之前尽早对自己应用进行优化 ...

  3. iOS: NSURLConnection详解

    摘要: NSURLConnection是iOS网络编程中一个比较旧的类,在需要兼容低版本的系统时,NSURLConnection也是一个不错的选择. 一.引言 在iOS7后,NSURLSession基 ...

  4. java如何判断编码是否是utf8编码

    String的getBytes()方法是得到一个系统默认的编码格式的字节数组getBytes("utf-8")  得到一个UTF-8格式的字节数组 把String转换成bytes, ...

  5. Converting a fisheye image into a panoramic, spherical or perspective projection [转]

    Converting a fisheye image into a panoramic, spherical or perspective projection Written by Paul Bou ...

  6. zend studio 13.0.0 安装破解汉化

    zend studio 13安装破解汉化步骤 官网原版下载 http://downloads.zend.com/studio-eclipse/13.0.0/ZendStudio-13.0.0-win3 ...

  7. Myeclipse最全快捷键

    转自:http://www.iteye.com/topic/1051317 Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行  Ctrl+Alt+↓ 复制当前行到下一 ...

  8. C++ 之 基础回顾(一)

    1  exe 程序

  9. docker桥接

    Ifconfig docker0 down Brctl delvr docker0 进入到网卡配置文件 修改eth0网卡参数 加入BIRDGE=br0 创建一个br0 其中ip为真实机的ip 更改do ...

  10. 推荐8款HTML5相关的特殊效果

    HTML5是HTML的升级版,HTML5有两大特点:首先,强化了 Web 网页的表现性能.其次,追加了本地数据库等 Web 应用的功能.广义论及HTML5时,实际指的是包括HTML.CSS和JavaS ...