[SDL] Obtenir les dimensions du bureau
9 sujets de 1 à 9 (sur un total de 9)
-
merci pour ta reponse glames
https://www.youtube.com/@sayasupa
Glames : Attention, les champs current_w et current_h de la structure SDL_VideoInfo ne sont pas présents dans la SDL de MorphOS et OS4.
Pour l’obtenir, tu fais un LockPubScreen et tu récupères les champs Width et Height. Pour la profondeur d’écran :
GetScreenAttrs(screen, SA_Depth, &depth, sizeof(ULONG));
Merci, ta question m’a fait recherché dans un exemple que j’avais et j’ai trouvé à y faire une ou deux modifs !
Edit : Dans la doc, il est dit « Width and height of the current video mode, or of the desktop mode if SDL_GetVideoInfo was called before SDL_SetVideoMode (available since SDL 1.2.10) ». La dernière version pour OS4 est la 1.2.11 donc apparemment tout n’a pas été implémenté vu que c’est assez récent.
Pas de quoi !
J’ai vu un nouveau sujet « SDL » et « Développement » alors je me suis précipité mais tu avais déjà répondu. Il fallait bien que je trouve quelque chose à ajouter (et en plus c’est utile).
Ah il faut que je commande WordMeUp aussi Je te contacte bientôt.
Attention,
GetScreenAttrs() est spécifique à OS4. Donc pour les autres OS, en utilisant l’API cgx, ça peut se faire comme ça (y’a pt être plus simple, mais je sais plus ) :
struct Screen * s = LockPubScreen(« Workbench »);
ULONG depth = 0;
if(s)
{
struct DrawInfo * dri = GetScreenDrawInfo(s);
if(dri)
{
ULONG id = GetVPModeID(&s->ViewPort);
depth = GetCyberIDAttr(CYBRIDATTR_DEPTH, id);
}
UnlockPubScreen(NULL, s);
}
Sous MorphOS2, les écrans et fenêtres sont devenus des objets boopsi et donc GetAttr/SetAttrs marchent dessus directement, mais le SDK n’est pas encore dispo.
[EDIT]: cela dit, il n’y a pas besoin du nouveau SDK pour utiliser ces objets…
9 sujets de 1 à 9 (sur un total de 9)
- Vous devez être connecté pour répondre à ce sujet.
› Forums › AmigaOS, MorphOS et AROS › Développement › [SDL] Obtenir les dimensions du bureau