forked from enlightenment/efl
Ipaq H38** and H39** are considered as landscape device because of their uglyness
SVN revision: 34517
This commit is contained in:
parent
355b22f3a7
commit
d7e2cb5163
|
@ -107,11 +107,13 @@ struct Evas_Engine_WinCE_GAPI_Priv
|
||||||
gapi_draw_end draw_end;
|
gapi_draw_end draw_end;
|
||||||
int width;
|
int width;
|
||||||
int height;
|
int height;
|
||||||
|
int stride;
|
||||||
};
|
};
|
||||||
|
|
||||||
void *
|
void *
|
||||||
evas_software_wince_gapi_init (HWND window)
|
evas_software_wince_gapi_init (HWND window)
|
||||||
{
|
{
|
||||||
|
WCHAR oemstr[100];
|
||||||
_GAPI_Display_Properties prop;
|
_GAPI_Display_Properties prop;
|
||||||
_GAPI_Key_List key_list;
|
_GAPI_Key_List key_list;
|
||||||
HMODULE gapi_lib;
|
HMODULE gapi_lib;
|
||||||
|
@ -199,8 +201,64 @@ evas_software_wince_gapi_init (HWND window)
|
||||||
priv->close_input = input_close;
|
priv->close_input = input_close;
|
||||||
priv->draw_begin = draw_begin;
|
priv->draw_begin = draw_begin;
|
||||||
priv->draw_end = draw_end;
|
priv->draw_end = draw_end;
|
||||||
|
|
||||||
|
/* Ipaq H38** and H39** are completely buggy */
|
||||||
|
/* They are detected as portrait device (width = 240 and height = 320) */
|
||||||
|
/* but the framebuffer is managed like a landscape device : */
|
||||||
|
/*
|
||||||
|
240
|
||||||
|
+---------+
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| | 320
|
||||||
|
| ^^^ |
|
||||||
|
| ||| |
|
||||||
|
| ||| |
|
||||||
|
| ||| |
|
||||||
|
+---------+
|
||||||
|
---->
|
||||||
|
|
||||||
|
*/
|
||||||
|
/* So these devices are considered as landscape devices */
|
||||||
|
/* and width and height are switched. */
|
||||||
|
/* Other devices are managed normally : */
|
||||||
|
/*
|
||||||
|
240
|
||||||
|
+---------+
|
||||||
|
| |---> |
|
||||||
|
| |---> |
|
||||||
|
| |---> |
|
||||||
|
v | |
|
||||||
|
| | 320
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
| |
|
||||||
|
+---------+
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
SystemParametersInfo (SPI_GETOEMINFO, sizeof (oemstr), oemstr, 0);
|
||||||
|
|
||||||
|
if (((oemstr[12] == 'H') &&
|
||||||
|
(oemstr[13] == '3') &&
|
||||||
|
(oemstr[14] == '8')) ||
|
||||||
|
((oemstr[12] == 'H') &&
|
||||||
|
(oemstr[13] == '3') &&
|
||||||
|
(oemstr[14] == '9')))
|
||||||
|
{
|
||||||
|
priv->width = prop.cyHeight;
|
||||||
|
priv->height = prop.cxWidth;
|
||||||
|
priv->stride = prop.cbxPitch;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
priv->width = prop.cxWidth;
|
priv->width = prop.cxWidth;
|
||||||
priv->height = prop.cyHeight;
|
priv->height = prop.cyHeight;
|
||||||
|
priv->stride = prop.cbyPitch;
|
||||||
|
}
|
||||||
|
|
||||||
return priv;
|
return priv;
|
||||||
|
|
||||||
|
@ -250,7 +308,7 @@ evas_software_wince_gapi_output_buffer_new(void *priv,
|
||||||
|
|
||||||
fbob->im = (Soft16_Image *) evas_cache_image_data(evas_common_soft16_image_cache_get(), width, height, (DATA32 *)buffer, 0, EVAS_COLORSPACE_RGB565_A5P);
|
fbob->im = (Soft16_Image *) evas_cache_image_data(evas_common_soft16_image_cache_get(), width, height, (DATA32 *)buffer, 0, EVAS_COLORSPACE_RGB565_A5P);
|
||||||
if (fbob->im)
|
if (fbob->im)
|
||||||
fbob->im->stride = width;
|
fbob->im->stride = ((Evas_Engine_WinCE_GAPI_Priv *)priv)->stride >> 1;
|
||||||
|
|
||||||
return fbob;
|
return fbob;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue