⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ceguiscrollablepane.h

📁 OGRE开发包的依赖包
💻 H
📖 第 1 页 / 共 2 页
字号:
        \brief
            Returns the vertical scrollbar overlap size as a fraction of one
            complete view page.

        \return
            float value specifying the overlap size where 1.0f would be the height of
            the viewing area.
        */
        float getVerticalOverlapSize(void) const;

        /*!
        \brief
            Sets the vertical scrollbar overlap size as a fraction of one
            complete view page.

        \param overlap
            float value specifying the overlap size, where 1.0f would be the height of
            the viewing area.

        \return
            Nothing.
        */
        void setVerticalOverlapSize(float overlap);

        /*!
        \brief
            Returns the vertical scroll position as a fraction of the
            complete scrollable height.

        \return
            float value specifying the scroll position.
        */
        float getVerticalScrollPosition(void) const;

        /*!
        \brief
            Sets the vertical scroll position as a fraction of the
            complete scrollable height.

        \param position
            float value specifying the new scroll position.

        \return
            Nothing.
        */
        void setVerticalScrollPosition(float position);

        /*!
        \brief
            Return a Rect that described the pane's viewable area, relative
            to this Window, in pixels.

        \return
            Rect object describing the ScrollablePane's viewable area.
        */
        Rect getViewableArea(void) const;

        /*!
        \brief
            Return a pointer to the vertical scrollbar component widget for this
            ScrollablePane.

        \return
            Pointer to a Scrollbar object.

        \exception UnknownObjectException
            Thrown if the vertical Scrollbar component does not exist.
        */
        Scrollbar* getVertScrollbar() const;

        /*!
        \brief
            Return a pointer to the horizontal scrollbar component widget for
            this ScrollablePane.

        \return
            Pointer to a Scrollbar object.

        \exception UnknownObjectException
            Thrown if the horizontal Scrollbar component does not exist.
        */
        Scrollbar* getHorzScrollbar() const;

        /*************************************************************************
            Overridden from Window
        *************************************************************************/
        void initialiseComponents(void);
        void destroy(void);

    protected:
        /*************************************************************************
        	Abstract interface
        *************************************************************************/
        /*!
        \brief
            Return a Rect that described the pane's viewable area, relative
            to this Window, in pixels.

        \return
            Rect object describing the ScrollablePane's viewable area.
        */
        //virtual Rect getViewableArea_impl(void) const = 0;

        /*************************************************************************
        	Implementation Methods
        *************************************************************************/
        /*!
	    \brief
		    display required integrated scroll bars according to current size of
            the ScrollablePane view area and the size of the attached ScrolledContainer.
	    */
	    void configureScrollbars(void);

        /*!
        \brief
            Return whether the vertical scrollbar is needed.

        \return
            - true if the scrollbar is either needed or forced via setting.
            - false if the scrollbar should not be shown.
        */
        bool isVertScrollbarNeeded(void) const;

        /*!
        \brief
            Return whether the horizontal scrollbar is needed.

        \return
            - true if the scrollbar is either needed or forced via setting.
            - false if the scrollbar should not be shown.
        */
        bool isHorzScrollbarNeeded(void) const;

        /*!
        \brief
            Update the content container position according to the current 
            state of the widget (like scrollbar positions, etc).
        */
        void updateContainerPosition(void);


		/*!
		\brief
			Return whether this window was inherited from the given class name at some point in the inheritance hierarchy.

		\param class_name
			The class name that is to be checked.

		\return
			true if this window was inherited from \a class_name. false if not.
		*/
		virtual bool	testClassName_impl(const String& class_name) const
		{
			if (class_name=="ScrollablePane")	return true;
			return Window::testClassName_impl(class_name);
		}

        /*!
        \brief
            Return a pointer to the ScrolledContainer component widget for this
            ScrollablePane.

        \return
            Pointer to a ScrolledContainer object.

        \exception UnknownObjectException
            Thrown if the scrolled container component does not exist.
        */
        ScrolledContainer* getScrolledContainer() const;

        // validate window renderer
        virtual bool validateWindowRenderer(const String& name) const
        {
            return (name == "ScrollablePane");
        }

        /*************************************************************************
        	Event triggers
        *************************************************************************/
        /*!
        \brief
            Event trigger method called when some pane content has changed size
            or location.

        \param e
            WindowEventArgs object.

        \return
            Nothing.
        */
        virtual void onContentPaneChanged(WindowEventArgs& e);

        /*!
        \brief
            Event trigger method called when the setting that controls whether the 
            vertical scrollbar is always shown or not, is changed.

        \param e
            WindowEventArgs object.

        \return
            Nothing.
        */
        virtual void onVertScrollbarModeChanged(WindowEventArgs& e);

        /*!
        \brief
            Event trigger method called when the setting that controls whether the 
            horizontal scrollbar is always shown or not, is changed.

        \param e
            WindowEventArgs object.

        \return
            Nothing.
        */
        virtual void onHorzScrollbarModeChanged(WindowEventArgs& e);

        /*!
        \brief
            Notification method called whenever the setting that controls whether
            the content pane is automatically sized is changed.

        \param e
            WindowEventArgs object.

        \return
            Nothing.
        */
        virtual void onAutoSizeSettingChanged(WindowEventArgs& e);

        /*!
        \brief
            Notification method called whenever the content pane is scrolled via
            changes in the scrollbar positions.

        \param e
            WindowEventArgs object.

        \return
            Nothing.
        */
        virtual void onContentPaneScrolled(WindowEventArgs& e);

        /*************************************************************************
        	Event handler methods
        *************************************************************************/
        /*!
        \brief
            Handler method which gets subscribed to the scrollbar position change
            events.
        */
        bool handleScrollChange(const EventArgs&  e);

        /*!
        \brief
            Handler method which gets subscribed to the ScrolledContainer content
            change events.
        */
        bool handleContentAreaChange(const EventArgs& e);

        /*!
        \brief
            Handler method which gets subscribed to the ScrolledContainer auto-size
            setting changes.
        */
        bool handleAutoSizePaneChanged(const EventArgs& e);

        /*************************************************************************
        	Overridden from Window
        *************************************************************************/
        void addChild_impl(Window* wnd);
        void removeChild_impl(Window* wnd);
        void onSized(WindowEventArgs& e);
        void onMouseWheel(MouseEventArgs& e);

        /*************************************************************************
        	Data fields
        *************************************************************************/
        bool    d_forceVertScroll;		//!< true if vertical scrollbar should always be displayed
        bool    d_forceHorzScroll;		//!< true if horizontal scrollbar should always be displayed
        Rect    d_contentRect;          //!< holds content area so we can track changes.
        float   d_vertStep;             //!< vertical scroll step fraction.
        float   d_vertOverlap;          //!< vertical scroll overlap fraction.
        float   d_horzStep;             //!< horizontal scroll step fraction.
        float   d_horzOverlap;          //!< horizontal scroll overlap fraction.
        Event::Connection d_contentChangedConn;  //!< Event connection to content pane
        Event::Connection d_autoSizeChangedConn; //!< Event connection to content pane

    private:
	    /*************************************************************************
		    Static Properties for this class
	    *************************************************************************/
        static ScrollablePaneProperties::ForceHorzScrollbar     d_horzScrollbarProperty;
        static ScrollablePaneProperties::ForceVertScrollbar     d_vertScrollbarProperty;
	    static ScrollablePaneProperties::ContentPaneAutoSized	d_autoSizedProperty;
	    static ScrollablePaneProperties::ContentArea            d_contentAreaProperty;
        static ScrollablePaneProperties::HorzStepSize           d_horzStepProperty;
        static ScrollablePaneProperties::HorzOverlapSize        d_horzOverlapProperty;
        static ScrollablePaneProperties::HorzScrollPosition     d_horzScrollPositionProperty;
        static ScrollablePaneProperties::VertStepSize           d_vertStepProperty;
        static ScrollablePaneProperties::VertOverlapSize        d_vertOverlapProperty;
        static ScrollablePaneProperties::VertScrollPosition     d_vertScrollPositionProperty;

	    /*************************************************************************
		    Private methods
	    *************************************************************************/
	    void addScrollablePaneProperties(void);
    };


} // End of  CEGUI namespace section


#if defined(_MSC_VER)
#	pragma warning(pop)
#endif

#endif	// end of guard _CEGUIScrollablePane_h_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -