Home | History | Annotate | Download | only in aura
      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
      3 // found in the LICENSE file.
      4 
      5 #include <Cocoa/Cocoa.h>
      6 
      7 #include "ui/aura/window_tree_host_mac.h"
      8 #include "ui/aura/window_tree_host.h"
      9 
     10 namespace aura {
     11 
     12 WindowTreeHostMac::WindowTreeHostMac(const gfx::Rect& bounds) {
     13   window_.reset(
     14       [[NSWindow alloc]
     15           initWithContentRect:NSRectFromCGRect(bounds.ToCGRect())
     16                     styleMask:NSBorderlessWindowMask
     17                       backing:NSBackingStoreBuffered
     18                         defer:NO]);
     19   CreateCompositor(GetAcceleratedWidget());
     20 }
     21 
     22 WindowTreeHostMac::~WindowTreeHostMac() {
     23   DestroyDispatcher();
     24 }
     25 
     26 EventSource* WindowTreeHostMac::GetEventSource() {
     27   NOTIMPLEMENTED();
     28   return nil;
     29 }
     30 
     31 gfx::AcceleratedWidget WindowTreeHostMac::GetAcceleratedWidget() {
     32   return [window_ contentView];
     33 }
     34 void WindowTreeHostMac::Show() {
     35   [window_ makeKeyAndOrderFront:nil];
     36 }
     37 
     38 void WindowTreeHostMac::Hide() {
     39   [window_ orderOut:nil];
     40 }
     41 
     42 void WindowTreeHostMac::ToggleFullScreen() {
     43 }
     44 
     45 gfx::Rect WindowTreeHostMac::GetBounds() const {
     46   return gfx::Rect(NSRectToCGRect([window_ frame]));
     47 }
     48 
     49 void WindowTreeHostMac::SetBounds(const gfx::Rect& bounds) {
     50   [window_ setFrame:NSRectFromCGRect(bounds.ToCGRect()) display:YES animate:NO];
     51 }
     52 
     53 gfx::Insets WindowTreeHostMac::GetInsets() const {
     54   NOTIMPLEMENTED();
     55   return gfx::Insets();
     56 }
     57 
     58 void WindowTreeHostMac::SetInsets(const gfx::Insets& insets) {
     59   NOTIMPLEMENTED();
     60 }
     61 
     62 gfx::Point WindowTreeHostMac::GetLocationOnNativeScreen() const {
     63   NOTIMPLEMENTED();
     64   return gfx::Point(0, 0);
     65 }
     66 
     67 void WindowTreeHostMac::SetCapture() {
     68   NOTIMPLEMENTED();
     69 }
     70 
     71 void WindowTreeHostMac::ReleaseCapture() {
     72   NOTIMPLEMENTED();
     73 }
     74 
     75 bool WindowTreeHostMac::ConfineCursorToRootWindow() {
     76   return false;
     77 }
     78 
     79 void WindowTreeHostMac::UnConfineCursor() {
     80   NOTIMPLEMENTED();
     81 }
     82 
     83 void WindowTreeHostMac::SetCursorNative(gfx::NativeCursor cursor_type) {
     84   NOTIMPLEMENTED();
     85 }
     86 
     87 void WindowTreeHostMac::MoveCursorToNative(const gfx::Point& location) {
     88   NOTIMPLEMENTED();
     89 }
     90 
     91 void WindowTreeHostMac::OnCursorVisibilityChangedNative(bool show) {
     92   NOTIMPLEMENTED();
     93 }
     94 
     95 void WindowTreeHostMac::PostNativeEvent(const base::NativeEvent& event) {
     96   NOTIMPLEMENTED();
     97 }
     98 
     99 void WindowTreeHostMac::OnDeviceScaleFactorChanged(float device_scale_factor) {
    100   NOTIMPLEMENTED();
    101 }
    102 
    103 // static
    104 WindowTreeHost* WindowTreeHost::Create(const gfx::Rect& bounds) {
    105   return new WindowTreeHostMac(bounds);
    106 }
    107 
    108 // static
    109 gfx::Size WindowTreeHost::GetNativeScreenSize() {
    110   NOTIMPLEMENTED();
    111   return gfx::Size(1024, 768);
    112 }
    113 
    114 }  // namespace aura
    115