summaryrefslogtreecommitdiff
path: root/indra/llwindow/llwindowsdl.cpp
diff options
context:
space:
mode:
authorLeyla Farazha <leyla@lindenlab.com>2010-03-24 16:51:07 -0700
committerLeyla Farazha <leyla@lindenlab.com>2010-03-24 16:51:07 -0700
commitda407e32fdb68e5aecff99c970d654293e21d0d9 (patch)
tree95ed03c2d77c1ef2920cd940345f70ab32bcf97d /indra/llwindow/llwindowsdl.cpp
parent7480e069349e2b3a7581267d13f52c63e459af64 (diff)
parent7857f59f9e7c673f1ddbf32d6a66e85f78004445 (diff)
Merge
Diffstat (limited to 'indra/llwindow/llwindowsdl.cpp')
-rw-r--r--indra/llwindow/llwindowsdl.cpp202
1 files changed, 2 insertions, 200 deletions
diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp
index cb4e04511c..1f705f9e60 100644
--- a/indra/llwindow/llwindowsdl.cpp
+++ b/indra/llwindow/llwindowsdl.cpp
@@ -187,47 +187,6 @@ Display* LLWindowSDL::get_SDL_Display(void)
}
#endif // LL_X11
-// static
-S32 LLWindowSDL::getDisplayWidth()
-{
-#if LL_GTK
- if (LLWindowSDL::ll_try_gtk_init())
- {
- return gdk_screen_width();
- }
-#endif // LL_GTK
-
-#if LL_X11
- Display *display = XOpenDisplay(NULL);
- int screen_num = DefaultScreen(display);
- S32 width = DisplayWidth(display, screen_num);
- XCloseDisplay(display);
- return width;
-#endif //LL_X11
-
- return 1024;
-}
-
-// static
-S32 LLWindowSDL::getDisplayHeight()
-{
-#if LL_GTK
- if (LLWindowSDL::ll_try_gtk_init())
- {
- return gdk_screen_height();
- }
-#endif // LL_GTK
-
-#if LL_X11
- Display *display = XOpenDisplay(NULL);
- int screen_num = DefaultScreen(display);
- S32 height = DisplayHeight(display, screen_num);
- XCloseDisplay(display);
- return height;
-#endif //LL_X11
-
- return 768;
-}
LLWindowSDL::LLWindowSDL(LLWindowCallbacks* callbacks,
const std::string& title, S32 x, S32 y, S32 width,
@@ -950,68 +909,7 @@ BOOL LLWindowSDL::getMaximized()
if (mWindow)
{
-#if LL_X11
- if (mSDL_Display)
- {
- maybe_lock_display();
-
- // Return data in the specified format, XA_ATOM.
- U8* prop;
- // Actual format of the property.
- int format;
- // Actual number of items stored in the prop return data.
- unsigned long nitems;
- // Number of bytes remaining to be read in the property if a partial read was performed.
- unsigned long bytes_after;
- // Atom identifier that defines the actual type of the property.
- Atom type;
-
- // Atom used to obtain list of hints describing the window state.
- Atom wm_state = XInternAtom(mSDL_Display, "_NET_WM_STATE", False);
-
- // Atoms indicates that the window is vertically/horizontally maximized.
- Atom max_vert = XInternAtom(mSDL_Display, "_NET_WM_STATE_MAXIMIZED_VERT", False);
- Atom max_horz = XInternAtom(mSDL_Display, "_NET_WM_STATE_MAXIMIZED_HORZ", False);
-
- // How many atoms in which we interested are present in list of hints.
- U32 pass = 0;
-
- do
- {
- nitems = 0;
- bytes_after = 0;
- type = None;
- if ( (XGetWindowProperty (mSDL_Display,
- mSDL_XWindowID,
- wm_state,
- 0, UINT_MAX,
- False, XA_ATOM,
- &type, &format,
- &nitems, &bytes_after,
- &prop) == Success)
- && type != None )
- {
- Atom *atoms = (Atom *)prop;
- for (unsigned long i=0; i<nitems; ++i)
- {
- if (atoms[i] == max_horz)
- ++pass;
- else if (atoms[i] == max_vert)
- ++pass;
- }
- XFree (atoms);
- }
- else
- {
- break;
- }
- } while (bytes_after > 0);
-
- result = (pass == 2);
-
- maybe_unlock_display();
- }
-#endif // LL_X11
+ // TODO
}
return(result);
@@ -1019,103 +917,7 @@ BOOL LLWindowSDL::getMaximized()
BOOL LLWindowSDL::maximize()
{
-#if LL_X11
- if (mSDL_Display && !mFullscreen)
- {
- maybe_lock_display();
-
- BOOL is_maximize_allowed = FALSE;
-
- // Check if maximize is allowed
- {
- // Return data in the specified format, XA_ATOM.
- U8* prop;
- // Actual format of the property.
- int format;
- // Actual number of items stored in the prop return data.
- unsigned long nitems;
- // Number of bytes remaining to be read in the property if a partial read was performed.
- unsigned long bytes_after;
- // Atom identifier that defines the actual type of the property.
- Atom type;
-
- // Atom used to obtain a list of atoms indicating user operations that the Window Manager supports for this window.
- Atom allowed_act = XInternAtom(mSDL_Display, "_NET_WM_ALLOWED_ACTIONS", False);
-
- // Atoms that indicates that the window may be vertically/horizontally maximized.
- Atom max_vert_act = XInternAtom(mSDL_Display, "_NET_WM_ACTION_MAXIMIZE_HORZ", False);
- Atom max_horz_act = XInternAtom(mSDL_Display, "_NET_WM_ACTION_MAXIMIZE_VERT", False);
-
- // How many atoms in which we interested are present in list of hints.
- U32 pass = 0;
-
- do
- {
- nitems = 0;
- bytes_after = 0;
- type = None;
- if ( (XGetWindowProperty (mSDL_Display,
- mSDL_XWindowID,
- allowed_act,
- 0, UINT_MAX,
- False, XA_ATOM,
- &type, &format,
- &nitems, &bytes_after,
- &prop) == Success)
- && type != None )
- {
- Atom *atoms = (Atom *)prop;
- for (unsigned long i=0; i<nitems; ++i)
- {
- if (atoms[i] == max_vert_act)
- ++pass;
- else if (atoms[i] == max_horz_act)
- ++pass;
- }
- XFree (atoms);
- }
- else
- {
- break;
- }
- } while (bytes_after > 0);
-
- is_maximize_allowed = (pass == 2);
- }
-
- // Send maximize event to X11 system
- if (is_maximize_allowed)
- {
- XEvent xev;
-
- // Atom describing the window state.
- Atom wm_state = XInternAtom(mSDL_Display, "_NET_WM_STATE", False);
-
- // Atoms indicates that the window is vertically/horizontally maximized.
- Atom max_vert = XInternAtom(mSDL_Display, "_NET_WM_STATE_MAXIMIZED_VERT", False);
- Atom max_horz = XInternAtom(mSDL_Display, "_NET_WM_STATE_MAXIMIZED_HORZ", False);
-
- memset(&xev, 0, sizeof(xev));
- xev.type = ClientMessage;
- xev.xclient.window = mSDL_XWindowID;
- xev.xclient.message_type = wm_state;
- xev.xclient.format = 32;
- xev.xclient.data.l[0] = 1; // add/set property
- xev.xclient.data.l[1] = max_vert;
- xev.xclient.data.l[2] = max_horz;
- xev.xclient.data.l[3] = 0;
- xev.xclient.data.l[4] = 0;
-
- XSendEvent(mSDL_Display,
- DefaultRootWindow(mSDL_Display),
- False,
- SubstructureNotifyMask, &xev);
- }
-
- maybe_unlock_display();
- return is_maximize_allowed;
- }
-#endif // LL_X11
+ // TODO
return FALSE;
}