comparison dw.h @ 2993:392f0b3dd502

Android: Add DW_FEATURE_RENDER_SAFE, initially just for Android. This will eventually be supported on other platforms that support unsafe rendering. On Android this moves EXPOSE events off the main thread and is enabled by default to provide extra safety. Since none of the callbacks happen on the main thread anymore, this means that none of the threading functions follow the potentially unsafe code paths that lead to instability. The trade off is performance, rendering performance, which was already kind of slow is even worse. I'll look for ways to improve this performance without sacrificing stability.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Tue, 02 May 2023 11:37:48 +0000
parents c8bee3b6e7ce
children a464a74505f7
comparison
equal deleted inserted replaced
2992:c8bee3b6e7ce 2993:392f0b3dd502
1846 DW_FEATURE_TASK_BAR, /* Supports icons in the taskbar or similar system widget */ 1846 DW_FEATURE_TASK_BAR, /* Supports icons in the taskbar or similar system widget */
1847 DW_FEATURE_TREE, /* Supports the Tree Widget */ 1847 DW_FEATURE_TREE, /* Supports the Tree Widget */
1848 DW_FEATURE_WINDOW_PLACEMENT, /* Supports arbitrary window placement */ 1848 DW_FEATURE_WINDOW_PLACEMENT, /* Supports arbitrary window placement */
1849 DW_FEATURE_CONTAINER_MODE, /* Supports alternate container view modes */ 1849 DW_FEATURE_CONTAINER_MODE, /* Supports alternate container view modes */
1850 DW_FEATURE_HTML_MESSAGE, /* Supports the DW_SIGNAL_HTML_MESSAGE callback */ 1850 DW_FEATURE_HTML_MESSAGE, /* Supports the DW_SIGNAL_HTML_MESSAGE callback */
1851 DW_FEATURE_RENDER_SAFE, /* Supports render safe drawing mode, limited to expose */
1851 DW_FEATURE_MAX 1852 DW_FEATURE_MAX
1852 } DWFEATURE; 1853 } DWFEATURE;
1853 1854
1854 /* Macro for casting resource IDs to HICN */ 1855 /* Macro for casting resource IDs to HICN */
1855 #define DW_RESOURCE(a) (a < 65536 ? (HICN)a : (HICN)0) 1856 #define DW_RESOURCE(a) (a < 65536 ? (HICN)a : (HICN)0)