* skeleton of X11 skins
[vlc.git] / modules / gui / skins / x11 / x11_api.cpp
1 /*****************************************************************************
2  * x11_api.cpp: Various x11-specific functions
3  *****************************************************************************
4  * Copyright (C) 2003 VideoLAN
5  * $Id: x11_api.cpp,v 1.1 2003/04/28 14:32:57 asmax Exp $
6  *
7  * Authors: Cyril Deguet  <asmax@videolan.org>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111,
22  * USA.
23  *****************************************************************************/
24
25 #ifdef X11_SKINS
26
27 //--- X11 -------------------------------------------------------------------
28 #include <X11/Xlib.h>
29
30 //--- SKIN ------------------------------------------------------------------
31 #include "../src/window.h"
32 #include "../os_window.h"
33 #include "../os_api.h"
34 #include "../src/event.h"       // for MAX_PARAM_SIZE
35
36 #include <stdio.h>
37
38 //---------------------------------------------------------------------------
39 // Event API
40 //---------------------------------------------------------------------------
41 void OSAPI_SendMessage( SkinWindow *win, unsigned int message, unsigned int param1,
42                         long param2 )
43 {
44 /*    if( win == NULL )
45         SendMessage( NULL, message, param1, param2 );
46     else
47         SendMessage( ( (Win32Window *)win )->GetHandle(), message, param1,
48                      param2 );*/
49 }
50 //---------------------------------------------------------------------------
51 void OSAPI_PostMessage( SkinWindow *win, unsigned int message, unsigned int param1,
52                         long param2 )
53 {
54
55 /*    GdkEventClient *event = new GdkEventClient;
56     
57     event->type = GDK_CLIENT_EVENT;
58     if( win == NULL )
59         event->window = NULL;
60     else
61         event->window = (( Window )win)->GetHandle();
62     event->send_event = 0;
63     event->message_type = NULL;
64     event->data_format = 32;
65     event->data.l[0] = message;
66     event->data.l[1] = param1;
67     event->data.l[2] = param2;
68
69     gdk_event_put( (GdkEvent *)event );
70
71     delete event;*/
72 }
73 //---------------------------------------------------------------------------
74
75
76
77
78 //---------------------------------------------------------------------------
79 // Graphic API
80 //---------------------------------------------------------------------------
81 int OSAPI_GetNonTransparentColor( int c )
82 {
83 /*    // Get desktop device context
84     HDC DeskDC = GetWindowDC( GetDesktopWindow() );
85
86     // If color is black or color is same as black wether pixel color depth
87     if( c == 0 || SetPixel( DeskDC, 0, 0, c ) == 0 )
88     {
89         if( GetDeviceCaps( DeskDC, BITSPIXEL ) < 24 )
90             c = RGB(8, 0, 0);
91         else
92             c = RGB(1, 0, 0);
93     }
94     ReleaseDC( GetDesktopWindow(), DeskDC );
95     return c;*/
96 }
97 //---------------------------------------------------------------------------
98
99
100
101
102 //---------------------------------------------------------------------------
103 // General
104 //---------------------------------------------------------------------------
105 int OSAPI_GetTime()
106 {
107 /*    GTimeVal time;
108     g_get_current_time( &time );
109     return ( time.tv_sec * 1000 + time.tv_usec / 1000 );*/
110 }
111 //---------------------------------------------------------------------------
112 void OSAPI_GetScreenSize( int &w, int &h )
113 {
114 /*    w = GetSystemMetrics(SM_CXSCREEN);
115     h = GetSystemMetrics(SM_CYSCREEN);*/
116 }
117 //---------------------------------------------------------------------------
118 void OSAPI_GetMousePos( int &x, int &y )
119 {
120 /*    gdk_window_get_pointer( gdk_get_default_root_window(), &x, &y, NULL );*/
121 }
122 //---------------------------------------------------------------------------
123 string OSAPI_GetWindowTitle( SkinWindow *win )
124 {
125 /*    return ( (GTK2Window *)win )->GetName();*/
126 }
127 //---------------------------------------------------------------------------
128 bool OSAPI_RmDir( string path )
129 {
130 /*    WIN32_FIND_DATA find;
131     string File;
132     string FindFiles = path + "\\*.*";
133     HANDLE handle    = FindFirstFile( (char *)FindFiles.c_str(), &find );
134
135     while( handle != INVALID_HANDLE_VALUE )
136     {
137         // If file is neither "." nor ".."
138         if( strcmp( find.cFileName, "." ) && strcmp( find.cFileName, ".." ) )
139         {
140             // Set file name
141             File = path + "\\" + (string)find.cFileName;
142
143             // If file is a directory, delete it recursively
144             if( find.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY )
145             {
146                 OSAPI_RmDir( File );
147             }
148             // Else, it is a file so simply delete it
149             else
150             {
151                 DeleteFile( (char *)File.c_str() );
152             }
153         }
154
155         // If no more file in directory, exit while
156         if( !FindNextFile( handle, &find ) )
157             break;
158     }
159
160     // Now directory is empty so can be removed
161     FindClose( handle );
162     RemoveDirectory( (char *)path.c_str() );
163
164     return true;*/
165 }
166 //---------------------------------------------------------------------------
167
168 #endif