Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!


SDL and "live desktop area"


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 JohnnyLightwave   Members   -  Reputation: 145

Like
0Likes
Like

Posted 29 December 2011 - 06:51 AM

Hi all,

Is there a way in SDL to get the "live" desktop size? I'm able to receive the desktop area correctly, but what I want to do is force my game to fullscreen if too much of it is behind the dock on a Mac.

Since the screen is 800 pixels high, my game (at 768 pixels) reports that everything is okay-- but the bottom of the game (where I have some user interface) is behind the dock and can't be touched. Meanwhile, the game window can't be dragged any higher on the screen.

So in general, I want to just say "the screen's too small to access the bottom of a 768 pixel window because of the size of the dock-- go fullscreen." Any way to do that?

Thanks!

Sponsor:

#2 SimonForsman   Crossbones+   -  Reputation: 6323

Like
0Likes
Like

Posted 29 December 2011 - 07:49 AM

Hi all,

Is there a way in SDL to get the "live" desktop size? I'm able to receive the desktop area correctly, but what I want to do is force my game to fullscreen if too much of it is behind the dock on a Mac.

Since the screen is 800 pixels high, my game (at 768 pixels) reports that everything is okay-- but the bottom of the game (where I have some user interface) is behind the dock and can't be touched. Meanwhile, the game window can't be dragged any higher on the screen.

So in general, I want to just say "the screen's too small to access the bottom of a 768 pixel window because of the size of the dock-- go fullscreen." Any way to do that?

Thanks!


For SDL 1.2;
const SDL_VideoInfo* vInfo = SDL_GetVideoInfo();
int width = vInfo->current_w;
int height = vInfo->current_h;


For SDL 1.3

int displayIndex = SDL_GetWindowDisplay(window);
SDL_DisplayMode *displayMode;

SDL_GetDesktopDisplayMode(displayIndex,displayMode);

//width and height of the desktop is now stored as displayMode->w and displayMode->h
//(The displayIndex is set to the display that the center of the Window is located on)

Oh, and the SDL 1.2 code has to run before you call SDL_SetVideoMode to create the SDL Window otherwise it will give you the Windows properties rather than the desktops.
I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS