| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 COMPONENTS_MUS_PUBLIC_CPP_WINDOW_H_ | 5 #ifndef COMPONENTS_MUS_PUBLIC_CPP_WINDOW_H_ |
| 6 #define COMPONENTS_MUS_PUBLIC_CPP_WINDOW_H_ | 6 #define COMPONENTS_MUS_PUBLIC_CPP_WINDOW_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 71 const gfx::Rect& bounds() const { return bounds_; } | 71 const gfx::Rect& bounds() const { return bounds_; } |
| 72 void SetBounds(const gfx::Rect& bounds); | 72 void SetBounds(const gfx::Rect& bounds); |
| 73 | 73 |
| 74 const gfx::Insets& client_area() const { return client_area_; } | 74 const gfx::Insets& client_area() const { return client_area_; } |
| 75 void SetClientArea(const gfx::Insets& new_client_area); | 75 void SetClientArea(const gfx::Insets& new_client_area); |
| 76 | 76 |
| 77 // Visibility (also see IsDrawn()). When created windows are hidden. | 77 // Visibility (also see IsDrawn()). When created windows are hidden. |
| 78 bool visible() const { return visible_; } | 78 bool visible() const { return visible_; } |
| 79 void SetVisible(bool value); | 79 void SetVisible(bool value); |
| 80 | 80 |
| 81 // Cursors |
| 82 mojom::Cursor predefined_cursor() const { return cursor_id_; } |
| 83 void SetPredefinedCursor(mus::mojom::Cursor cursor_id); |
| 84 |
| 81 // A Window is drawn if the Window and all its ancestors are visible and the | 85 // A Window is drawn if the Window and all its ancestors are visible and the |
| 82 // Window is attached to the root. | 86 // Window is attached to the root. |
| 83 bool IsDrawn() const; | 87 bool IsDrawn() const; |
| 84 | 88 |
| 85 const mojom::ViewportMetrics& viewport_metrics() { | 89 const mojom::ViewportMetrics& viewport_metrics() { |
| 86 return *viewport_metrics_; | 90 return *viewport_metrics_; |
| 87 } | 91 } |
| 88 | 92 |
| 89 scoped_ptr<WindowSurface> RequestSurface(mojom::SurfaceType type); | 93 scoped_ptr<WindowSurface> RequestSurface(mojom::SurfaceType type); |
| 90 | 94 |
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 void LocalAddTransientWindow(Window* transient_window); | 221 void LocalAddTransientWindow(Window* transient_window); |
| 218 void LocalRemoveTransientWindow(Window* transient_window); | 222 void LocalRemoveTransientWindow(Window* transient_window); |
| 219 // Returns true if the order actually changed. | 223 // Returns true if the order actually changed. |
| 220 bool LocalReorder(Window* relative, mojom::OrderDirection direction); | 224 bool LocalReorder(Window* relative, mojom::OrderDirection direction); |
| 221 void LocalSetBounds(const gfx::Rect& old_bounds, const gfx::Rect& new_bounds); | 225 void LocalSetBounds(const gfx::Rect& old_bounds, const gfx::Rect& new_bounds); |
| 222 void LocalSetClientArea(const gfx::Insets& new_client_area); | 226 void LocalSetClientArea(const gfx::Insets& new_client_area); |
| 223 void LocalSetViewportMetrics(const mojom::ViewportMetrics& old_metrics, | 227 void LocalSetViewportMetrics(const mojom::ViewportMetrics& old_metrics, |
| 224 const mojom::ViewportMetrics& new_metrics); | 228 const mojom::ViewportMetrics& new_metrics); |
| 225 void LocalSetDrawn(bool drawn); | 229 void LocalSetDrawn(bool drawn); |
| 226 void LocalSetVisible(bool visible); | 230 void LocalSetVisible(bool visible); |
| 231 void LocalSetPredefinedCursor(mojom::Cursor cursor_id); |
| 227 void LocalSetSharedProperty(const std::string& name, | 232 void LocalSetSharedProperty(const std::string& name, |
| 228 const std::vector<uint8_t>* data); | 233 const std::vector<uint8_t>* data); |
| 229 | 234 |
| 230 // Notifies this winodw that its stacking position has changed. | 235 // Notifies this winodw that its stacking position has changed. |
| 231 void NotifyWindowStackingChanged(); | 236 void NotifyWindowStackingChanged(); |
| 232 // Methods implementing visibility change notifications. See WindowObserver | 237 // Methods implementing visibility change notifications. See WindowObserver |
| 233 // for more details. | 238 // for more details. |
| 234 void NotifyWindowVisibilityChanged(Window* target); | 239 void NotifyWindowVisibilityChanged(Window* target); |
| 235 // Notifies this window's observers. Returns false if |this| was deleted | 240 // Notifies this window's observers. Returns false if |this| was deleted |
| 236 // during the call (by an observer), otherwise true. | 241 // during the call (by an observer), otherwise true. |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 269 | 274 |
| 270 base::ObserverList<WindowObserver> observers_; | 275 base::ObserverList<WindowObserver> observers_; |
| 271 | 276 |
| 272 gfx::Rect bounds_; | 277 gfx::Rect bounds_; |
| 273 gfx::Insets client_area_; | 278 gfx::Insets client_area_; |
| 274 | 279 |
| 275 mojom::ViewportMetricsPtr viewport_metrics_; | 280 mojom::ViewportMetricsPtr viewport_metrics_; |
| 276 | 281 |
| 277 bool visible_; | 282 bool visible_; |
| 278 | 283 |
| 284 mojom::Cursor cursor_id_; |
| 285 |
| 279 SharedProperties properties_; | 286 SharedProperties properties_; |
| 280 | 287 |
| 281 // Drawn state is derived from the visible state and the parent's visible | 288 // Drawn state is derived from the visible state and the parent's visible |
| 282 // state. This field is only used if the window has no parent (eg it's a | 289 // state. This field is only used if the window has no parent (eg it's a |
| 283 // root). | 290 // root). |
| 284 bool drawn_; | 291 bool drawn_; |
| 285 | 292 |
| 286 // Value struct to keep the name and deallocator for this property. | 293 // Value struct to keep the name and deallocator for this property. |
| 287 // Key cannot be used for this purpose because it can be char* or | 294 // Key cannot be used for this purpose because it can be char* or |
| 288 // WindowProperty<>. | 295 // WindowProperty<>. |
| 289 struct Value { | 296 struct Value { |
| 290 const char* name; | 297 const char* name; |
| 291 int64_t value; | 298 int64_t value; |
| 292 PropertyDeallocator deallocator; | 299 PropertyDeallocator deallocator; |
| 293 }; | 300 }; |
| 294 | 301 |
| 295 std::map<const void*, Value> prop_map_; | 302 std::map<const void*, Value> prop_map_; |
| 296 | 303 |
| 297 MOJO_DISALLOW_COPY_AND_ASSIGN(Window); | 304 MOJO_DISALLOW_COPY_AND_ASSIGN(Window); |
| 298 }; | 305 }; |
| 299 | 306 |
| 300 } // namespace mus | 307 } // namespace mus |
| 301 | 308 |
| 302 #endif // COMPONENTS_MUS_PUBLIC_CPP_WINDOW_H_ | 309 #endif // COMPONENTS_MUS_PUBLIC_CPP_WINDOW_H_ |
| OLD | NEW |