346 lines
6.4 KiB
C
346 lines
6.4 KiB
C
![]() |
#ifndef UI_CORE_PLACE_HOLDER_H_
|
|||
|
#define UI_CORE_PLACE_HOLDER_H_
|
|||
|
|
|||
|
#pragma once
|
|||
|
|
|||
|
namespace ui
|
|||
|
{
|
|||
|
|
|||
|
class UILIB_API PlaceHolder : public virtual nbase::SupportWeakCallback
|
|||
|
{
|
|||
|
public:
|
|||
|
PlaceHolder();
|
|||
|
PlaceHolder(const PlaceHolder& r);
|
|||
|
PlaceHolder& operator=(const PlaceHolder& r) = delete;
|
|||
|
virtual ~PlaceHolder();
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
Box* GetParent() const { return m_pParent;}
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
* @param[in] strName Ҫ<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
Box* GetAncestor(const std::wstring& strName);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>Ӧ xml <EFBFBD><EFBFBD> name <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ؿؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
std::wstring GetName() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>Ӧ xml <EFBFBD><EFBFBD> name <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ؿؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>UTF8 <EFBFBD><EFBFBD><EFBFBD>룩
|
|||
|
*/
|
|||
|
std::string GetUTF8Name() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ÿؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD> xml <EFBFBD><EFBFBD>
|
|||
|
* @param[in] strName Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetName(const std::wstring& strName);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ÿؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD>ڴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD> xml <EFBFBD>У<EFBFBD>UTF8 <EFBFBD><EFBFBD><EFBFBD>룩
|
|||
|
* @param[in] strName Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetUTF8Name(const std::string& strName);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
virtual Window* GetWindow() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] pManager <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
* @param[in] pParent <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] bInit <EFBFBD><EFBFBD><EFBFBD>ú<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Init <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
virtual void SetWindow(Window* pManager, Box* pParent, bool bInit = true);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] pManager <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
virtual void SetWindow(Window* pManager);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
virtual void Init();
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD> Init <EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Init <EFBFBD><EFBFBD>ͬ
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
virtual void DoInit();
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>ɼ<EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD> true Ϊ<EFBFBD>ɼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> false Ϊ<EFBFBD><EFBFBD><EFBFBD>ɼ<EFBFBD>
|
|||
|
*/
|
|||
|
virtual bool IsVisible() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
bool IsInternVisible() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD>жϿؼ<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ xml <EFBFBD><EFBFBD> float <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD> true <EFBFBD>Ǹ<EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> false Ϊ<EFBFBD>Ǹ<EFBFBD><EFBFBD><EFBFBD>״̬
|
|||
|
*/
|
|||
|
bool IsFloat() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ÿؼ<EFBFBD><EFBFBD>Ƿ<EFBFBD>
|
|||
|
* @param[in] bFloat <EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ true Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>false Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetFloat(bool bFloat = true);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>̶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD>Ӧ xml <EFBFBD><EFBFBD> width <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ؿؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
int GetFixedWidth() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ÿؼ<EFBFBD><EFBFBD>̶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] cx Ҫ<EFBFBD><EFBFBD><EFBFBD>õĿ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] bArrange <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ true
|
|||
|
* @param[in] bNeedDpiScale <EFBFBD><EFBFBD><EFBFBD><EFBFBD> DPI <EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ true
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetFixedWidth(int cx, bool bArrange = true, bool bNeedDpiScale = true);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>̶<EFBFBD><EFBFBD>߶<EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ع̶<EFBFBD><EFBFBD>߶<EFBFBD>
|
|||
|
*/
|
|||
|
int GetFixedHeight() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ù̶<EFBFBD><EFBFBD>߶<EFBFBD>
|
|||
|
* @param[in] cy Ҫ<EFBFBD><EFBFBD><EFBFBD>õĹ̶<EFBFBD><EFBFBD>߶<EFBFBD>
|
|||
|
* @param[in] bNeedDpiScale <EFBFBD><EFBFBD><EFBFBD><EFBFBD> DPI <EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ true
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetFixedHeight(int cy, bool bNeedDpiScale = true);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
int GetMinWidth() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] cx Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetMinWidth(int cx);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
int GetMaxWidth() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] cx Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetMaxWidth(int cx);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>С<EFBFBD>߶<EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>߶<EFBFBD>
|
|||
|
*/
|
|||
|
int GetMinHeight() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>߶<EFBFBD>
|
|||
|
* @param[in] cy Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD>߶<EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetMinHeight(int cy);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>
|
|||
|
*/
|
|||
|
int GetMaxHeight() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>
|
|||
|
* @param[in] cy Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetMaxHeight(int cy);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡʵ<EFBFBD>ʿ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ʿ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
int GetWidth() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡʵ<EFBFBD>ʸ߶<EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ʸ߶<EFBFBD>
|
|||
|
*/
|
|||
|
int GetHeight() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡˮƽ<EFBFBD><EFBFBD><EFBFBD>뷽ʽ
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮƽ<EFBFBD><EFBFBD><EFBFBD>뷽ʽ<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> HorAlignType ö<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
HorAlignType GetHorAlignType() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˮƽ<EFBFBD><EFBFBD><EFBFBD>뷽ʽ
|
|||
|
* @param[in] horAlignType Ҫ<EFBFBD><EFBFBD><EFBFBD>õĶ<EFBFBD><EFBFBD>뷽ʽ<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> HorAlignType ö<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetHorAlignType(HorAlignType horAlignType);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>뷽ʽ
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>뷽ʽ<EFBFBD><EFBFBD><EFBFBD>μ<EFBFBD> VerAlignType ö<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
VerAlignType GetVerAlignType() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD>ֱ<EFBFBD><EFBFBD><EFBFBD>뷽ʽ
|
|||
|
* @param[in] vorAlignType Ҫ<EFBFBD><EFBFBD><EFBFBD>õĶ<EFBFBD><EFBFBD>뷽ʽ<EFBFBD><EFBFBD><EFBFBD>ο<EFBFBD> VerAlignType ö<EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetVerAlignType(VerAlignType verAlignType);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
bool IsReEstimateSize() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
void SetReEstimateSize(bool bReEstimateSize);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
virtual CSize EstimateSize(CSize szAvailable);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD>ȡ<EFBFBD>ؼ<EFBFBD>λ<EFBFBD><EFBFBD>
|
|||
|
* @param[in] bContainShadow <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӱλ<EFBFBD>ã<EFBFBD>Ĭ<EFBFBD><EFBFBD>Ϊ true
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD>ؿؼ<EFBFBD>λ<EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
virtual UiRect GetPos(bool bContainShadow = true) const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>ÿؼ<EFBFBD>λ<EFBFBD><EFBFBD>
|
|||
|
* @param[in] rc Ҫ<EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
virtual void SetPos(UiRect rc);
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
virtual void Arrange();
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD>ø<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
virtual void ArrangeAncestor();
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD>
|
|||
|
* @return true Ϊ<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>й<EFBFBD><EFBFBD><EFBFBD>false Ϊ<EFBFBD><EFBFBD>δ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
bool IsArranged() const;
|
|||
|
|
|||
|
void SetUseCache(bool cache);
|
|||
|
bool IsUseCache() { return m_bUseCache; }
|
|||
|
void SetCacheDirty(bool dirty);
|
|||
|
bool IsCacheDirty() { return m_bUseCache && m_bCacheDirty; }
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD>ػ<EFBFBD><EFBFBD>ؼ<EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
virtual void Invalidate();
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
UiRect GetPosWithScrollOffset() const;
|
|||
|
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
CPoint GetScrollOffset() const;
|
|||
|
|
|||
|
static bool IsChild(PlaceHolder* pAncestor, PlaceHolder* pChild);
|
|||
|
protected:
|
|||
|
/**
|
|||
|
* @brief <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @return <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*/
|
|||
|
virtual void ArrangeSelf();
|
|||
|
|
|||
|
protected:
|
|||
|
std::wstring m_sName;
|
|||
|
Window *m_pWindow;
|
|||
|
Box* m_pParent;
|
|||
|
CSize m_cxyFixed;
|
|||
|
CSize m_cxyMin;
|
|||
|
CSize m_cxyMax;
|
|||
|
UiRect m_rcItem;
|
|||
|
HorAlignType m_horAlignType;
|
|||
|
VerAlignType m_verAlignType;
|
|||
|
bool m_bFloat;
|
|||
|
bool m_bReEstimateSize;
|
|||
|
bool m_bVisible;
|
|||
|
bool m_bInternVisible;
|
|||
|
bool m_bIsArranged;
|
|||
|
|
|||
|
bool m_bUseCache;
|
|||
|
bool m_bCacheDirty;
|
|||
|
std::unique_ptr<IRenderContext> m_renderContext;
|
|||
|
};
|
|||
|
|
|||
|
} // namespace ui
|
|||
|
|
|||
|
#endif // UI_CORE_PLACE_HOLDER_H_
|