30#ifndef __ARM_2D_HELPER_SCENE_H__
31#define __ARM_2D_HELPER_SCENE_H__
34#include "arm_2d_helper_pfb.h"
41# pragma clang diagnostic push
42# pragma clang diagnostic ignored "-Wunknown-warning-option"
43# pragma clang diagnostic ignored "-Wreserved-identifier"
44# pragma clang diagnostic ignored "-Wdeclaration-after-statement"
45# pragma clang diagnostic ignored "-Wpadded"
46# pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments"
50#ifdef __ARM_2D_HELPER_SCENE_IMPLEMENT__
51# define __ARM_2D_IMPL__
52# undef __ARM_2D_HELPER_SCENE_IMPLEMENT__
53#elif defined(__ARM_2D_HELPER_SCENE_INHERIT__)
54# undef __ARM_2D_HELPER_SCENE_INHERIT__
55# define __ARM_2D_INHERIT__
57#include "arm_2d_utils.h"
65#define arm_2d_scene_player_set_switching_period \
66 arm_2d_scene_player_set_auto_switching_period
92#define arm_2d_scene_player_register_on_draw_navigation_event_handler( \
97 __arm_2d_scene_player_register_on_draw_navigation_event_handler( \
98 (__SCENE_PLAYER_PTR), \
100 (__USER_TARGET_PTR), \
101 (NULL,##__VA_ARGS__))
110#define arm_2d_scene_player_set_switching_mode(__SCENE_PLAYER_PTR, \
113 __arm_2d_scene_player_set_switching_mode((__SCENE_PLAYER_PTR), \
126#define arm_2d_scene_player_register_before_switching_event_handler( \
127 __SCENE_PLAYER_PTR, \
130 __arm_2d_scene_player_register_before_switching_event_handler( \
131 (__SCENE_PLAYER_PTR), \
133 (NULL,##__VA_ARGS__))
144#define arm_2d_scene_player_register_before_deposing_event_handler( \
145 __SCENE_PLAYER_PTR, \
148 __arm_2d_scene_player_register_before_deposing_event_handler( \
149 (__SCENE_PLAYER_PTR), \
151 (NULL,##__VA_ARGS__))
219 uint8_t bIgnoreOldSceneBG : 1;
220 uint8_t bIgnoreOldScene : 1;
221 uint8_t bIgnoreNewSceneBG : 1;
222 uint8_t bIgnoreNewScene : 1;
223 uint8_t u2DefaultBG : 2;
236typedef const struct {
286 uint8_t bOnSwitchingIgnoreBG : 1;
287 uint8_t bOnSwitchingIgnoreScene : 1;
290 uint8_t bUseDirtyRegionHelper : 1;
327 uint64_t dwRenderTotal;
330 uint16_t hwIterations;
331 uint16_t hwFrameCounter;
332 uint32_t wLCDLatency;
344 uint8_t bNextSceneReq : 1;
345 uint8_t bManualSwitchReq : 1;
346 uint8_t bCancelSwitchReq : 1;
347 uint8_t bFinishManualSwitchReq : 1;
350 uint8_t bManualSwitch : 1;
351 uint8_t bCancelSwitch : 1;
352 uint8_t bFinishManualSwitch : 1;
353 uint8_t bFirstFrameAfterSwitch : 1;
356 uint8_t bSwitchCPL : 1;
357 uint8_t bUpdateBG : 1;
359 uint8_t bCallOldSceneFrameCPL : 1;
360 uint8_t bCallNewSceneFrameCPL : 1;
361 uint8_t bCallOldSceneBGCPL : 1;
362 uint8_t bCallNewSceneBGCPL : 1;
479 int_fast16_t hwCount);
522 uint16_t hwSettings);
568 bool bMoveToPreviousScene,
611 arm_2d_helper_draw_handler_t *fnHandler,
755#if defined(__clang__)
756# pragma clang diagnostic pop