zoukankan      html  css  js  c++  java
  • ENGINE_API CXSroll

    #ifndef __XSROLL_H__
    #define __XSROLL_H__
    
    #include "CocoHead.h"
    #include "XWindow.h"
    
    
    class ENGINE_API CXSroll : public CXWindow
    {
    public:
        enum XSrollType
        {
            _SrollDirectionVertical        = 0,        //垂直
            _SrollDirectionHorizontal    = 1,        //水平    
            _SrollVerticalTable            = 2,        //垂直选项(Table类型)
            _SrollHorizontalTable        = 3,        //水平选项(Table类型)
            _SrollDirectionBoth            = 4,
        };
    
    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__
  • 相关阅读:
    软件测试技术实战 设计、工具及管理(51Testing软件测试网作品系列)
    MATLAB智能算法超级学习手册
    HTML与CSS入门经典(第9版)
    深入理解Android 5 源代码
    中文版Dreamweaver CS6基础培训教程(第2版)
    可用性测试手册(第2版)
    网络综合布线系统与施工技术第4版
    PHP核心技术与最佳实践(第2版)
    [OC Foundation框架
    [OC Foundation框架
  • 原文地址:https://www.cnblogs.com/newlist/p/3151201.html
Copyright © 2011-2022 走看看