Extended the screen test app: now we try to set the display_mode, and we also print the color_space with the other info.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12525 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
55814cfde4
commit
712ab9be40
@ -4,24 +4,59 @@
|
|||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
// TODO: very basic, will need to be extended
|
|
||||||
int main()
|
int main()
|
||||||
{
|
{
|
||||||
BApplication app("application/x-vnd.BScreenTest");
|
BApplication app("application/x-vnd.BScreenTest");
|
||||||
BScreen screen;
|
BScreen screen;
|
||||||
display_mode mode;
|
|
||||||
|
|
||||||
if (!screen.IsValid()) {
|
if (!screen.IsValid()) {
|
||||||
printf("Invalid BScreen object\n");
|
printf("Invalid BScreen object\n");
|
||||||
exit(-1);
|
exit(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
status_t status = screen.GetMode(&mode);
|
display_mode oldMode;
|
||||||
|
status_t status = screen.GetMode(&oldMode);
|
||||||
if (status < B_OK)
|
if (status < B_OK)
|
||||||
printf("%s\n", strerror(status));
|
printf("%s\n", strerror(status));
|
||||||
else
|
else
|
||||||
printf("width: %d, height: %d\n", mode.virtual_width, mode.virtual_height);
|
printf("width: %d, height: %d, space: %lu\n",
|
||||||
|
oldMode.virtual_width,
|
||||||
|
oldMode.virtual_height,
|
||||||
|
oldMode.space);
|
||||||
|
|
||||||
printf("Screen frame: \n");
|
printf("Screen frame: ");
|
||||||
screen.Frame().PrintToStream();
|
screen.Frame().PrintToStream();
|
||||||
|
|
||||||
|
printf("\nTrying to set mode to 800x600: ");
|
||||||
|
display_mode newMode = oldMode;
|
||||||
|
newMode.virtual_width = 800;
|
||||||
|
newMode.virtual_height = 600;
|
||||||
|
|
||||||
|
status = screen.SetMode(&newMode);
|
||||||
|
if (status < B_OK)
|
||||||
|
printf("FAILED (%s)\n", strerror(status));
|
||||||
|
else {
|
||||||
|
printf("OK\n");
|
||||||
|
status_t status = screen.GetMode(&newMode);
|
||||||
|
if (status < B_OK)
|
||||||
|
printf("%s\n", strerror(status));
|
||||||
|
else {
|
||||||
|
printf("width: %d, height: %d, space: %lu\n",
|
||||||
|
newMode.virtual_width,
|
||||||
|
newMode.virtual_height,
|
||||||
|
newMode.space);
|
||||||
|
printf("Screen frame: ");
|
||||||
|
screen.Frame().PrintToStream();
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
snooze(4000000);
|
||||||
|
|
||||||
|
printf("resetting video mode: ");
|
||||||
|
status = screen.SetMode(&oldMode);
|
||||||
|
if (status < B_OK)
|
||||||
|
printf("FAILED (%s)\n", strerror(status));
|
||||||
|
else
|
||||||
|
printf("OK\n");
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user