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 |