svn update: 48958 (latest:48959)
[framework/uifw/ecore.git] / src / lib / ecore_cocoa / ecore_cocoa_window.m
1 #ifdef HAVE_CONFIG_H\r
2 # include <config.h>\r
3 #endif\r
4 \r
5 #include <Cocoa/Cocoa.h>\r
6 \r
7 #include "Ecore_Cocoa.h"\r
8 \r
9 Ecore_Cocoa_Window *\r
10 ecore_cocoa_window_new(int x,\r
11                        int y,\r
12                        int width,\r
13                        int height)\r
14 {\r
15   NSWindow *window;\r
16 \r
17   window = [[NSWindow alloc]\r
18              initWithContentRect:NSMakeRect(x, y, width, height)\r
19              styleMask:(NSTitledWindowMask |\r
20                         NSClosableWindowMask |\r
21                         NSResizableWindowMask |\r
22                         NSMiniaturizableWindowMask)\r
23              backing:NSBackingStoreBuffered\r
24              defer:NO\r
25              screen:nil\r
26             ];\r
27   if (!window)\r
28     return NULL;\r
29 \r
30   return window;\r
31 }\r
32 \r
33 void\r
34 ecore_cocoa_window_free(Ecore_Cocoa_Window *window)\r
35 {\r
36   if (!window)\r
37     return;\r
38 \r
39   [window release];\r
40 }\r
41 \r
42 void\r
43 ecore_cocoa_window_move(Ecore_Cocoa_Window *window,\r
44                         int                 x,\r
45                         int                 y)\r
46 {\r
47   if (!window)\r
48     return;\r
49 }\r
50 \r
51 void\r
52 ecore_cocoa_window_resize(Ecore_Cocoa_Window *window,\r
53                           int                 width,\r
54                           int                 height)\r
55 {\r
56   if (!window)\r
57     return;\r
58 \r
59   [window setContentSize: NSMakeSize(width, height)];\r
60 }\r
61 \r
62 void\r
63 ecore_cocoa_window_move_resize(Ecore_Cocoa_Window *window,\r
64                                int                 x,\r
65                                int                 y,\r
66                                int                 width,\r
67                                int                 height)\r
68 {\r
69   if (!window)\r
70     return;\r
71 }\r
72 \r
73 void\r
74 ecore_cocoa_window_title_set(Ecore_Cocoa_Window *window, const char *title)\r
75 {\r
76   if (!window || !title)\r
77     return;\r
78 \r
79   [window setTitle:[NSString stringWithUTF8String:title]];\r
80 }\r
81 \r
82 void\r
83 ecore_cocoa_window_show(Ecore_Cocoa_Window *window)\r
84 {\r
85   if (!window || [window isVisible])\r
86     return;\r
87 \r
88   [window orderFront:NSApp];\r
89 }\r
90 \r
91 void\r
92 ecore_cocoa_window_hide(Ecore_Cocoa_Window *window)\r
93 {\r
94   if (!window || ![window isVisible])\r
95     return;\r
96 \r
97   [window orderOut:NSApp];\r
98 }\r
99 \r
100 void\r
101 ecore_cocoa_window_borderless_set(Ecore_Cocoa_Window *window,\r
102                                   int                 on)\r
103 {\r
104   if (!window)\r
105     return;\r
106 \r
107   if (on)\r
108     [window setContentBorderThickness:0.0\r
109             forEdje:NSMinXEdge | NSMinYEdge | NSMaxXEdge | NSMaxYEdge];\r
110 }\r