OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium 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 #ifndef VIEWS_WIDGET_WIDGET_WIN_H_ | 5 #ifndef VIEWS_WIDGET_WIDGET_WIN_H_ |
6 #define VIEWS_WIDGET_WIDGET_WIN_H_ | 6 #define VIEWS_WIDGET_WIDGET_WIN_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <atlbase.h> | 9 #include <atlbase.h> |
10 #include <atlapp.h> | 10 #include <atlapp.h> |
11 #include <atlcrack.h> | 11 #include <atlcrack.h> |
12 #include <atlmisc.h> | 12 #include <atlmisc.h> |
13 | 13 |
14 #include <string> | 14 #include <string> |
15 #include <vector> | 15 #include <vector> |
16 | 16 |
17 #include "base/message_loop.h" | 17 #include "base/message_loop.h" |
18 #include "base/scoped_comptr_win.h" | 18 #include "base/scoped_comptr_win.h" |
19 #include "base/scoped_vector.h" | 19 #include "base/scoped_vector.h" |
20 #include "gfx/window_impl.h" | 20 #include "gfx/window_impl.h" |
21 #include "views/focus/focus_manager.h" | 21 #include "views/focus/focus_manager.h" |
22 #include "views/layout_manager.h" | 22 #include "views/layout_manager.h" |
23 #include "views/widget/widget.h" | 23 #include "views/widget/widget.h" |
24 | 24 |
25 namespace app { | 25 namespace app { |
26 class ViewProp; | 26 namespace win { |
| 27 class ScopedProp; |
| 28 } |
27 } | 29 } |
28 | 30 |
29 namespace gfx { | 31 namespace gfx { |
30 class CanvasSkia; | 32 class CanvasSkia; |
31 class Rect; | 33 class Rect; |
32 } | 34 } |
33 | 35 |
34 namespace views { | 36 namespace views { |
35 | 37 |
36 class DefaultThemeProvider; | 38 class DefaultThemeProvider; |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 virtual Widget* GetRootWidget() const; | 227 virtual Widget* GetRootWidget() const; |
226 virtual bool IsVisible() const; | 228 virtual bool IsVisible() const; |
227 virtual bool IsActive() const; | 229 virtual bool IsActive() const; |
228 virtual bool IsAccessibleWidget() const; | 230 virtual bool IsAccessibleWidget() const; |
229 virtual TooltipManager* GetTooltipManager(); | 231 virtual TooltipManager* GetTooltipManager(); |
230 virtual void GenerateMousePressedForView(View* view, | 232 virtual void GenerateMousePressedForView(View* view, |
231 const gfx::Point& point); | 233 const gfx::Point& point); |
232 virtual bool GetAccelerator(int cmd_id, menus::Accelerator* accelerator); | 234 virtual bool GetAccelerator(int cmd_id, menus::Accelerator* accelerator); |
233 virtual Window* GetWindow(); | 235 virtual Window* GetWindow(); |
234 virtual const Window* GetWindow() const; | 236 virtual const Window* GetWindow() const; |
235 virtual void SetNativeWindowProperty(const char* name, void* value); | 237 virtual void SetNativeWindowProperty(const std::wstring& name, |
236 virtual void* GetNativeWindowProperty(const char* name); | 238 void* value); |
| 239 virtual void* GetNativeWindowProperty(const std::wstring& name); |
237 virtual ThemeProvider* GetThemeProvider() const; | 240 virtual ThemeProvider* GetThemeProvider() const; |
238 virtual ThemeProvider* GetDefaultThemeProvider() const; | 241 virtual ThemeProvider* GetDefaultThemeProvider() const; |
239 virtual FocusManager* GetFocusManager(); | 242 virtual FocusManager* GetFocusManager(); |
240 virtual void ViewHierarchyChanged(bool is_add, View *parent, | 243 virtual void ViewHierarchyChanged(bool is_add, View *parent, |
241 View *child); | 244 View *child); |
242 virtual bool ContainsNativeView(gfx::NativeView native_view); | 245 virtual bool ContainsNativeView(gfx::NativeView native_view); |
243 | 246 |
244 // Overridden from MessageLoop::Observer: | 247 // Overridden from MessageLoop::Observer: |
245 void WillProcessMessage(const MSG& msg); | 248 void WillProcessMessage(const MSG& msg); |
246 virtual void DidProcessMessage(const MSG& msg); | 249 virtual void DidProcessMessage(const MSG& msg); |
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
477 // Whether or not we have capture the mouse. | 480 // Whether or not we have capture the mouse. |
478 bool has_capture_; | 481 bool has_capture_; |
479 | 482 |
480 // If true, the mouse is currently down. | 483 // If true, the mouse is currently down. |
481 bool is_mouse_down_; | 484 bool is_mouse_down_; |
482 | 485 |
483 // Are a subclass of WindowWin? | 486 // Are a subclass of WindowWin? |
484 bool is_window_; | 487 bool is_window_; |
485 | 488 |
486 private: | 489 private: |
487 typedef ScopedVector<app::ViewProp> ViewProps; | 490 typedef ScopedVector<app::win::ScopedProp> ScopedProps; |
488 | 491 |
489 // Implementation of GetWindow. Ascends the parents of |hwnd| returning the | 492 // Implementation of GetWindow. Ascends the parents of |hwnd| returning the |
490 // first ancestor that is a Window. | 493 // first ancestor that is a Window. |
491 static Window* GetWindowImpl(HWND hwnd); | 494 static Window* GetWindowImpl(HWND hwnd); |
492 | 495 |
493 // Resize the bitmap used to contain the contents of the layered window. This | 496 // Resize the bitmap used to contain the contents of the layered window. This |
494 // recreates the entire bitmap. | 497 // recreates the entire bitmap. |
495 void SizeContents(const gfx::Size& window_size); | 498 void SizeContents(const gfx::Size& window_size); |
496 | 499 |
497 // Paint into a DIB and then update the layered window with its contents. | 500 // Paint into a DIB and then update the layered window with its contents. |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
585 static const int kMaxAccessibilityViewEvents = 20; | 588 static const int kMaxAccessibilityViewEvents = 20; |
586 | 589 |
587 // A vector used to access views for which we have sent notifications to | 590 // A vector used to access views for which we have sent notifications to |
588 // accessibility clients. It is used as a circular queue. | 591 // accessibility clients. It is used as a circular queue. |
589 std::vector<View*> accessibility_view_events_; | 592 std::vector<View*> accessibility_view_events_; |
590 | 593 |
591 // The current position of the view events vector. When incrementing, | 594 // The current position of the view events vector. When incrementing, |
592 // we always mod this value with the max view events above . | 595 // we always mod this value with the max view events above . |
593 int accessibility_view_events_index_; | 596 int accessibility_view_events_index_; |
594 | 597 |
595 ViewProps props_; | 598 ScopedProps props_; |
596 | 599 |
597 DISALLOW_COPY_AND_ASSIGN(WidgetWin); | 600 DISALLOW_COPY_AND_ASSIGN(WidgetWin); |
598 }; | 601 }; |
599 | 602 |
600 } // namespace views | 603 } // namespace views |
601 | 604 |
602 #endif // VIEWS_WIDGET_WIDGET_WIN_H_ | 605 #endif // VIEWS_WIDGET_WIDGET_WIN_H_ |
OLD | NEW |