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__
  • 相关阅读:
    HDU 2852 KiKi's K-Number (主席树)
    HDU 2089 不要62
    Light oj 1140 How Many Zeroes?
    Bless You Autocorrect!
    HDU 6201 transaction transaction transaction
    HDU1561 The more ,The better (树形背包Dp)
    CodeForces 607B zuma
    POJ 1651 Mulitiplication Puzzle
    CSUOJ 1952 合并石子
    Uva 1599 Ideal path
  • 原文地址:https://www.cnblogs.com/newlist/p/3151201.html
Copyright © 2011-2022 走看看