| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #ifndef FPDFSDK_PDFWINDOW_PWL_WND_H_ | 7 #ifndef FPDFSDK_PDFWINDOW_PWL_WND_H_ |
| 8 #define FPDFSDK_PDFWINDOW_PWL_WND_H_ | 8 #define FPDFSDK_PDFWINDOW_PWL_WND_H_ |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 | 248 |
| 249 public: | 249 public: |
| 250 CPWL_Wnd(); | 250 CPWL_Wnd(); |
| 251 ~CPWL_Wnd() override; | 251 ~CPWL_Wnd() override; |
| 252 | 252 |
| 253 void Create(const PWL_CREATEPARAM& cp); | 253 void Create(const PWL_CREATEPARAM& cp); |
| 254 virtual CFX_ByteString GetClassName() const; | 254 virtual CFX_ByteString GetClassName() const; |
| 255 void InvalidateFocusHandler(IPWL_FocusHandler* handler); | 255 void InvalidateFocusHandler(IPWL_FocusHandler* handler); |
| 256 void InvalidateProvider(IPWL_Provider* provider); | 256 void InvalidateProvider(IPWL_Provider* provider); |
| 257 void Destroy(); | 257 void Destroy(); |
| 258 void Move(const CFX_FloatRect& rcNew, FX_BOOL bReset, FX_BOOL bRefresh); | 258 void Move(const CFX_FloatRect& rcNew, bool bReset, bool bRefresh); |
| 259 virtual void InvalidateRect(CFX_FloatRect* pRect = nullptr); | 259 virtual void InvalidateRect(CFX_FloatRect* pRect = nullptr); |
| 260 | 260 |
| 261 void DrawAppearance(CFX_RenderDevice* pDevice, CFX_Matrix* pUser2Device); | 261 void DrawAppearance(CFX_RenderDevice* pDevice, CFX_Matrix* pUser2Device); |
| 262 | 262 |
| 263 virtual FX_BOOL OnKeyDown(uint16_t nChar, uint32_t nFlag); | 263 virtual bool OnKeyDown(uint16_t nChar, uint32_t nFlag); |
| 264 virtual FX_BOOL OnKeyUp(uint16_t nChar, uint32_t nFlag); | 264 virtual bool OnKeyUp(uint16_t nChar, uint32_t nFlag); |
| 265 virtual FX_BOOL OnChar(uint16_t nChar, uint32_t nFlag); | 265 virtual bool OnChar(uint16_t nChar, uint32_t nFlag); |
| 266 virtual FX_BOOL OnLButtonDblClk(const CFX_FloatPoint& point, uint32_t nFlag); | 266 virtual bool OnLButtonDblClk(const CFX_FloatPoint& point, uint32_t nFlag); |
| 267 virtual FX_BOOL OnLButtonDown(const CFX_FloatPoint& point, uint32_t nFlag); | 267 virtual bool OnLButtonDown(const CFX_FloatPoint& point, uint32_t nFlag); |
| 268 virtual FX_BOOL OnLButtonUp(const CFX_FloatPoint& point, uint32_t nFlag); | 268 virtual bool OnLButtonUp(const CFX_FloatPoint& point, uint32_t nFlag); |
| 269 virtual FX_BOOL OnMButtonDblClk(const CFX_FloatPoint& point, uint32_t nFlag); | 269 virtual bool OnMButtonDblClk(const CFX_FloatPoint& point, uint32_t nFlag); |
| 270 virtual FX_BOOL OnMButtonDown(const CFX_FloatPoint& point, uint32_t nFlag); | 270 virtual bool OnMButtonDown(const CFX_FloatPoint& point, uint32_t nFlag); |
| 271 virtual FX_BOOL OnMButtonUp(const CFX_FloatPoint& point, uint32_t nFlag); | 271 virtual bool OnMButtonUp(const CFX_FloatPoint& point, uint32_t nFlag); |
| 272 virtual FX_BOOL OnRButtonDown(const CFX_FloatPoint& point, uint32_t nFlag); | 272 virtual bool OnRButtonDown(const CFX_FloatPoint& point, uint32_t nFlag); |
| 273 virtual FX_BOOL OnRButtonUp(const CFX_FloatPoint& point, uint32_t nFlag); | 273 virtual bool OnRButtonUp(const CFX_FloatPoint& point, uint32_t nFlag); |
| 274 virtual FX_BOOL OnMouseMove(const CFX_FloatPoint& point, uint32_t nFlag); | 274 virtual bool OnMouseMove(const CFX_FloatPoint& point, uint32_t nFlag); |
| 275 virtual FX_BOOL OnMouseWheel(short zDelta, | 275 virtual bool OnMouseWheel(short zDelta, |
| 276 const CFX_FloatPoint& point, | 276 const CFX_FloatPoint& point, |
| 277 uint32_t nFlag); | 277 uint32_t nFlag); |
| 278 | 278 |
| 279 virtual void SetFocus(); | 279 virtual void SetFocus(); |
| 280 virtual void KillFocus(); | 280 virtual void KillFocus(); |
| 281 void SetCapture(); | 281 void SetCapture(); |
| 282 void ReleaseCapture(); | 282 void ReleaseCapture(); |
| 283 | 283 |
| 284 virtual void OnNotify(CPWL_Wnd* pWnd, | 284 virtual void OnNotify(CPWL_Wnd* pWnd, |
| 285 uint32_t msg, | 285 uint32_t msg, |
| 286 intptr_t wParam = 0, | 286 intptr_t wParam = 0, |
| 287 intptr_t lParam = 0); | 287 intptr_t lParam = 0); |
| 288 virtual void SetTextColor(const CPWL_Color& color); | 288 virtual void SetTextColor(const CPWL_Color& color); |
| 289 virtual void SetTextStrokeColor(const CPWL_Color& color); | 289 virtual void SetTextStrokeColor(const CPWL_Color& color); |
| 290 virtual void SetVisible(FX_BOOL bVisible); | 290 virtual void SetVisible(bool bVisible); |
| 291 | 291 |
| 292 virtual CFX_FloatRect GetFocusRect() const; | 292 virtual CFX_FloatRect GetFocusRect() const; |
| 293 virtual CPWL_Color GetBackgroundColor() const; | 293 virtual CPWL_Color GetBackgroundColor() const; |
| 294 virtual CPWL_Color GetBorderColor() const; | 294 virtual CPWL_Color GetBorderColor() const; |
| 295 virtual CPWL_Color GetTextColor() const; | 295 virtual CPWL_Color GetTextColor() const; |
| 296 virtual CPWL_Color GetTextStrokeColor() const; | 296 virtual CPWL_Color GetTextStrokeColor() const; |
| 297 virtual FX_FLOAT GetFontSize() const; | 297 virtual FX_FLOAT GetFontSize() const; |
| 298 virtual int32_t GetInnerBorderWidth() const; | 298 virtual int32_t GetInnerBorderWidth() const; |
| 299 virtual CPWL_Color GetBorderLeftTopColor(BorderStyle nBorderStyle) const; | 299 virtual CPWL_Color GetBorderLeftTopColor(BorderStyle nBorderStyle) const; |
| 300 virtual CPWL_Color GetBorderRightBottomColor(BorderStyle nBorderStyle) const; | 300 virtual CPWL_Color GetBorderRightBottomColor(BorderStyle nBorderStyle) const; |
| 301 | 301 |
| 302 virtual void SetFontSize(FX_FLOAT fFontSize); | 302 virtual void SetFontSize(FX_FLOAT fFontSize); |
| 303 | 303 |
| 304 void SetBackgroundColor(const CPWL_Color& color); | 304 void SetBackgroundColor(const CPWL_Color& color); |
| 305 void SetClipRect(const CFX_FloatRect& rect); | 305 void SetClipRect(const CFX_FloatRect& rect); |
| 306 void SetBorderStyle(BorderStyle eBorderStyle); | 306 void SetBorderStyle(BorderStyle eBorderStyle); |
| 307 | 307 |
| 308 virtual CFX_FloatRect GetWindowRect() const; | 308 virtual CFX_FloatRect GetWindowRect() const; |
| 309 virtual CFX_FloatRect GetClientRect() const; | 309 virtual CFX_FloatRect GetClientRect() const; |
| 310 CFX_FloatPoint GetCenterPoint() const; | 310 CFX_FloatPoint GetCenterPoint() const; |
| 311 int32_t GetBorderWidth() const; | 311 int32_t GetBorderWidth() const; |
| 312 FX_BOOL IsVisible() const { return m_bVisible; } | 312 bool IsVisible() const { return m_bVisible; } |
| 313 FX_BOOL HasFlag(uint32_t dwFlags) const; | 313 bool HasFlag(uint32_t dwFlags) const; |
| 314 void AddFlag(uint32_t dwFlags); | 314 void AddFlag(uint32_t dwFlags); |
| 315 void RemoveFlag(uint32_t dwFlags); | 315 void RemoveFlag(uint32_t dwFlags); |
| 316 const CFX_FloatRect& GetClipRect() const; | 316 const CFX_FloatRect& GetClipRect() const; |
| 317 CPWL_Wnd* GetParentWindow() const; | 317 CPWL_Wnd* GetParentWindow() const; |
| 318 BorderStyle GetBorderStyle() const; | 318 BorderStyle GetBorderStyle() const; |
| 319 const CPWL_Dash& GetBorderDash() const; | 319 const CPWL_Dash& GetBorderDash() const; |
| 320 void* GetAttachedData() const; | 320 void* GetAttachedData() const; |
| 321 | 321 |
| 322 FX_BOOL WndHitTest(const CFX_FloatPoint& point) const; | 322 bool WndHitTest(const CFX_FloatPoint& point) const; |
| 323 FX_BOOL ClientHitTest(const CFX_FloatPoint& point) const; | 323 bool ClientHitTest(const CFX_FloatPoint& point) const; |
| 324 FX_BOOL IsCaptureMouse() const; | 324 bool IsCaptureMouse() const; |
| 325 | 325 |
| 326 const CPWL_Wnd* GetFocused() const; | 326 const CPWL_Wnd* GetFocused() const; |
| 327 FX_BOOL IsFocused() const; | 327 bool IsFocused() const; |
| 328 FX_BOOL IsReadOnly() const; | 328 bool IsReadOnly() const; |
| 329 CPWL_ScrollBar* GetVScrollBar() const; | 329 CPWL_ScrollBar* GetVScrollBar() const; |
| 330 | 330 |
| 331 IPVT_FontMap* GetFontMap() const; | 331 IPVT_FontMap* GetFontMap() const; |
| 332 IPWL_Provider* GetProvider() const; | 332 IPWL_Provider* GetProvider() const; |
| 333 IPWL_FocusHandler* GetFocusHandler() const; | 333 IPWL_FocusHandler* GetFocusHandler() const; |
| 334 | 334 |
| 335 int32_t GetTransparency(); | 335 int32_t GetTransparency(); |
| 336 void SetTransparency(int32_t nTransparency); | 336 void SetTransparency(int32_t nTransparency); |
| 337 | 337 |
| 338 CFX_Matrix GetChildToRoot() const; | 338 CFX_Matrix GetChildToRoot() const; |
| 339 CFX_Matrix GetChildMatrix() const; | 339 CFX_Matrix GetChildMatrix() const; |
| 340 void SetChildMatrix(const CFX_Matrix& mt); | 340 void SetChildMatrix(const CFX_Matrix& mt); |
| 341 CFX_Matrix GetWindowMatrix() const; | 341 CFX_Matrix GetWindowMatrix() const; |
| 342 | 342 |
| 343 virtual CFX_FloatPoint ChildToParent(const CFX_FloatPoint& point) const; | 343 virtual CFX_FloatPoint ChildToParent(const CFX_FloatPoint& point) const; |
| 344 virtual CFX_FloatRect ChildToParent(const CFX_FloatRect& rect) const; | 344 virtual CFX_FloatRect ChildToParent(const CFX_FloatRect& rect) const; |
| 345 virtual CFX_FloatPoint ParentToChild(const CFX_FloatPoint& point) const; | 345 virtual CFX_FloatPoint ParentToChild(const CFX_FloatPoint& point) const; |
| 346 virtual CFX_FloatRect ParentToChild(const CFX_FloatRect& rect) const; | 346 virtual CFX_FloatRect ParentToChild(const CFX_FloatRect& rect) const; |
| 347 | 347 |
| 348 // those methods only implemented by listctrl item | 348 // those methods only implemented by listctrl item |
| 349 virtual FX_FLOAT GetItemHeight(FX_FLOAT fLimitWidth); | 349 virtual FX_FLOAT GetItemHeight(FX_FLOAT fLimitWidth); |
| 350 virtual FX_FLOAT GetItemLeftMargin(); | 350 virtual FX_FLOAT GetItemLeftMargin(); |
| 351 virtual FX_FLOAT GetItemRightMargin(); | 351 virtual FX_FLOAT GetItemRightMargin(); |
| 352 | 352 |
| 353 void EnableWindow(FX_BOOL bEnable); | 353 void EnableWindow(bool bEnable); |
| 354 FX_BOOL IsEnabled(); | 354 bool IsEnabled(); |
| 355 virtual void SetCursor(); | 355 virtual void SetCursor(); |
| 356 | 356 |
| 357 protected: | 357 protected: |
| 358 // CPWL_TimerHandler | 358 // CPWL_TimerHandler |
| 359 CFX_SystemHandler* GetSystemHandler() const override; | 359 CFX_SystemHandler* GetSystemHandler() const override; |
| 360 | 360 |
| 361 virtual void CreateChildWnd(const PWL_CREATEPARAM& cp); | 361 virtual void CreateChildWnd(const PWL_CREATEPARAM& cp); |
| 362 virtual void RePosChildWnd(); | 362 virtual void RePosChildWnd(); |
| 363 void GetAppearanceStream(CFX_ByteTextBuf& sAppStream); | 363 void GetAppearanceStream(CFX_ByteTextBuf& sAppStream); |
| 364 virtual void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream); | 364 virtual void GetThisAppearanceStream(CFX_ByteTextBuf& sAppStream); |
| 365 virtual void GetChildAppearanceStream(CFX_ByteTextBuf& sAppStream); | 365 virtual void GetChildAppearanceStream(CFX_ByteTextBuf& sAppStream); |
| 366 | 366 |
| 367 virtual void DrawThisAppearance(CFX_RenderDevice* pDevice, | 367 virtual void DrawThisAppearance(CFX_RenderDevice* pDevice, |
| 368 CFX_Matrix* pUser2Device); | 368 CFX_Matrix* pUser2Device); |
| 369 virtual void DrawChildAppearance(CFX_RenderDevice* pDevice, | 369 virtual void DrawChildAppearance(CFX_RenderDevice* pDevice, |
| 370 CFX_Matrix* pUser2Device); | 370 CFX_Matrix* pUser2Device); |
| 371 | 371 |
| 372 virtual void OnCreate(PWL_CREATEPARAM& cp); | 372 virtual void OnCreate(PWL_CREATEPARAM& cp); |
| 373 virtual void OnCreated(); | 373 virtual void OnCreated(); |
| 374 virtual void OnDestroy(); | 374 virtual void OnDestroy(); |
| 375 | 375 |
| 376 virtual void OnSetFocus(); | 376 virtual void OnSetFocus(); |
| 377 virtual void OnKillFocus(); | 377 virtual void OnKillFocus(); |
| 378 | 378 |
| 379 virtual void OnEnabled(); | 379 virtual void OnEnabled(); |
| 380 virtual void OnDisabled(); | 380 virtual void OnDisabled(); |
| 381 | 381 |
| 382 void SetNotifyFlag(FX_BOOL bNotifying = TRUE) { m_bNotifying = bNotifying; } | 382 void SetNotifyFlag(bool bNotifying = true) { m_bNotifying = bNotifying; } |
| 383 | 383 |
| 384 FX_BOOL IsValid() const; | 384 bool IsValid() const; |
| 385 const PWL_CREATEPARAM& GetCreationParam() const; | 385 const PWL_CREATEPARAM& GetCreationParam() const; |
| 386 FX_BOOL IsNotifying() const { return m_bNotifying; } | 386 bool IsNotifying() const { return m_bNotifying; } |
| 387 | 387 |
| 388 void InvalidateRectMove(const CFX_FloatRect& rcOld, | 388 void InvalidateRectMove(const CFX_FloatRect& rcOld, |
| 389 const CFX_FloatRect& rcNew); | 389 const CFX_FloatRect& rcNew); |
| 390 | 390 |
| 391 void PWLtoWnd(const CFX_FloatPoint& point, int32_t& x, int32_t& y) const; | 391 void PWLtoWnd(const CFX_FloatPoint& point, int32_t& x, int32_t& y) const; |
| 392 FX_RECT PWLtoWnd(const CFX_FloatRect& rect) const; | 392 FX_RECT PWLtoWnd(const CFX_FloatRect& rect) const; |
| 393 | 393 |
| 394 FX_BOOL IsWndCaptureMouse(const CPWL_Wnd* pWnd) const; | 394 bool IsWndCaptureMouse(const CPWL_Wnd* pWnd) const; |
| 395 FX_BOOL IsWndCaptureKeyboard(const CPWL_Wnd* pWnd) const; | 395 bool IsWndCaptureKeyboard(const CPWL_Wnd* pWnd) const; |
| 396 const CPWL_Wnd* GetRootWnd() const; | 396 const CPWL_Wnd* GetRootWnd() const; |
| 397 | 397 |
| 398 FX_BOOL IsCTRLpressed(uint32_t nFlag) const; | 398 bool IsCTRLpressed(uint32_t nFlag) const; |
| 399 FX_BOOL IsSHIFTpressed(uint32_t nFlag) const; | 399 bool IsSHIFTpressed(uint32_t nFlag) const; |
| 400 FX_BOOL IsALTpressed(uint32_t nFlag) const; | 400 bool IsALTpressed(uint32_t nFlag) const; |
| 401 | 401 |
| 402 private: | 402 private: |
| 403 void AddChild(CPWL_Wnd* pWnd); | 403 void AddChild(CPWL_Wnd* pWnd); |
| 404 void RemoveChild(CPWL_Wnd* pWnd); | 404 void RemoveChild(CPWL_Wnd* pWnd); |
| 405 | 405 |
| 406 void CreateScrollBar(const PWL_CREATEPARAM& cp); | 406 void CreateScrollBar(const PWL_CREATEPARAM& cp); |
| 407 void CreateVScrollBar(const PWL_CREATEPARAM& cp); | 407 void CreateVScrollBar(const PWL_CREATEPARAM& cp); |
| 408 | 408 |
| 409 void AdjustStyle(); | 409 void AdjustStyle(); |
| 410 void CreateMsgControl(); | 410 void CreateMsgControl(); |
| 411 void DestroyMsgControl(); | 411 void DestroyMsgControl(); |
| 412 | 412 |
| 413 CPWL_MsgControl* GetMsgControl() const; | 413 CPWL_MsgControl* GetMsgControl() const; |
| 414 | 414 |
| 415 protected: | 415 protected: |
| 416 CFX_ArrayTemplate<CPWL_Wnd*> m_aChildren; | 416 CFX_ArrayTemplate<CPWL_Wnd*> m_aChildren; |
| 417 | 417 |
| 418 private: | 418 private: |
| 419 PWL_CREATEPARAM m_sPrivateParam; | 419 PWL_CREATEPARAM m_sPrivateParam; |
| 420 | 420 |
| 421 CPWL_ScrollBar* m_pVScrollBar; | 421 CPWL_ScrollBar* m_pVScrollBar; |
| 422 | 422 |
| 423 CFX_FloatRect m_rcWindow; | 423 CFX_FloatRect m_rcWindow; |
| 424 CFX_FloatRect m_rcClip; | 424 CFX_FloatRect m_rcClip; |
| 425 | 425 |
| 426 FX_BOOL m_bCreated; | 426 bool m_bCreated; |
| 427 FX_BOOL m_bVisible; | 427 bool m_bVisible; |
| 428 FX_BOOL m_bNotifying; | 428 bool m_bNotifying; |
| 429 FX_BOOL m_bEnabled; | 429 bool m_bEnabled; |
| 430 }; | 430 }; |
| 431 | 431 |
| 432 #endif // FPDFSDK_PDFWINDOW_PWL_WND_H_ | 432 #endif // FPDFSDK_PDFWINDOW_PWL_WND_H_ |
| OLD | NEW |