Graphics framework for GR-PEACH. When you use this program, we judge you have agreed to the following contents. https://developer.mbed.org/teams/Renesas/wiki/About-LICENSE

Dependents:   ImageZoomInout_Sample ImageRotaion_Sample ImageScroll_Sample GR-PEACH_LCD_4_3inch_Save_to_USB ... more

Embed: (wiki syntax)

« Back to documentation index

window_surfaces.c File Reference

window_surfaces.c File Reference

Go to the source code of this file.

Typedefs

typedef struct
st_gs_frame_width_height_t 
gs_frame_width_height_t
 gs_frame_width_height_t
typedef struct st_gs_rectangle_t gs_rectangle_t
 gs_rectangle_t

Functions

static errnum_t R_WINDOW_SURFACES_SwapBuffers_Sub (window_surfaces_t *const self, int_fast32_t const layer_num)
 Sub routine of <R_WINDOW_SURFACES_SwapBuffers>
errnum_t GS_ToInFrame (gs_frame_width_height_t *SourceFrameBuffer, gs_frame_width_height_t *DestinationFrameBuffer, gs_rectangle_t *SourceRect, gs_rectangle_t *DestinationRect)
 Put "SourceRect" and "DestinationRect" into the frame.
static errnum_t alloc_VRAM_stack_sub (uint8_t **const in_out_StackPointer, const uint8_t *const OverOfVRAM, frame_buffer_t *const in_out_FrameBuffer)
 alloc_VRAM_stack_sub
static errnum_t free_VRAM_stack_sub (uint8_t **const in_out_StackPointer, const frame_buffer_t *const frame_buffer, const uint8_t *const StartOfVRAM)
 free_VRAM_stack_sub
static errnum_t window_surfaces_vdc5_layer_t__initialize (window_surfaces_vdc5_layer_t *const self, int_fast32_t const layer_num, vdc5_graphics_type_t const graphics_layer_ID)
 Initialize <window_surfaces_vdc5_layer_t>
STATIC_INLINE errnum_t window_surfaces_t__get_layer (window_surfaces_t *const self, int_fast32_t const in_LayerNum, window_surfaces_vdc5_layer_t **const out_Layer)
 Get <window_surfaces_vdc5_layer_t>
STATIC_INLINE errnum_t window_surfaces_t__get_attribute (window_surfaces_t *const self, int_fast32_t const in_LayerNum, window_surfaces_attribute_t **const out_Attribute)
 Get <window_surfaces_attribute_t>
void R_WINDOW_SURFACES_InitConst (window_surfaces_t *const self)
 R_WINDOW_SURFACES_InitConst.
static void vdc5_init_func (uint32_t const user_num)
 vdc5_init_func
errnum_t R_WINDOW_SURFACES_Initialize (window_surfaces_t *const self, window_surfaces_config_t *in_out_config)
 R_WINDOW_SURFACES_Initialize.
static void vdc5_quit_func (uint32_t const user_num)
 vdc5_quit_func
errnum_t R_WINDOW_SURFACES_Finalize (window_surfaces_t *const self, errnum_t e)
 R_WINDOW_SURFACES_Finalize.
errnum_t R_WINDOW_SURFACES_GetLayerFrameBuffer (const window_surfaces_t *const self, int_fast32_t const layer_num, frame_buffer_t **const out_frame_buffer)
 Get <frame_buffer_t>* of specified layer number.
errnum_t R_WINDOW_SURFACES_SwapBuffers (window_surfaces_t *const self, int_fast32_t const layer_num, graphics_t *const context)
 R_WINDOW_SURFACES_SwapBuffers.
errnum_t R_WINDOW_SURFACES_SwapBuffersStart (window_surfaces_t *const self, int_fast32_t const layer_num, r_ospl_async_t *async)
 Asynchronous function of <R_WINDOW_SURFACES_SwapBuffers>
errnum_t R_WINDOW_SURFACES_WaitForVSync (window_surfaces_t *const self, int_fast32_t const swap_interval, bool_t const is_1_v_sync_at_minimum)
 Wait for V-Sync.
errnum_t R_WINDOW_SURFACES_AllocOffscreenStack (window_surfaces_t *const self, frame_buffer_t *const in_out_frame_buffer)
 R_WINDOW_SURFACES_AllocOffscreenStack.
errnum_t R_WINDOW_SURFACES_FreeOffscreenStack (window_surfaces_t *const self, const frame_buffer_t *const frame_buffer)
 R_WINDOW_SURFACES_FreeOffscreenStack.
errnum_t R_WINDOW_SURFACES_DoMessageLoop (window_surfaces_t *self)
 Emulate message loop function.
errnum_t R_WINDOW_SURFACES_AccessLayerAttributes (window_surfaces_t *self, layer_attributes_t *in_out_Attributes)
 Set or get by <layer_attributes_t>
errnum_t R_VRAM_EX_STACK_Initialize (vram_ex_stack_t *self, void *NullConfig)
 R_VRAM_EX_STACK_Initialize.
errnum_t R_VRAM_EX_STACK_Alloc (vram_ex_stack_t *self, frame_buffer_t *in_out_FrameBuffer)
 Allocate VRAM from external RAM.
errnum_t R_VRAM_EX_STACK_Free (vram_ex_stack_t *self, frame_buffer_t *frame_buffer)
 Free VRAM to external RAM.

Detailed Description

Module:
CLibCommon
PublicVersion:
1.00

(=CLIB_VERSION)

Rev:
51
Date:
2014-03-14 18:42:33 +0900#

Definition in file window_surfaces.c.


Typedef Documentation

gs_frame_width_height_t

Definition at line 60 of file window_surfaces.c.

gs_rectangle_t

Definition at line 73 of file window_surfaces.c.


Function Documentation

static errnum_t alloc_VRAM_stack_sub ( uint8_t **const   in_out_StackPointer,
const uint8_t *const   OverOfVRAM,
frame_buffer_t *const   in_out_FrameBuffer 
) [static]

alloc_VRAM_stack_sub

Parameters:
in_out_StackPointerin_out_StackPointer
OverOfVRAMOverOfVRAM
in_out_FrameBufferin_out_FrameBuffer
Returns:
Error code, 0=No error
Description
  • (input) - >stride, ->height, ->buffer_count
  • (output) - >buffer_address[(all)]

Definition at line 191 of file window_surfaces.c.

static errnum_t free_VRAM_stack_sub ( uint8_t **const   in_out_StackPointer,
const frame_buffer_t *const   frame_buffer,
const uint8_t *const   StartOfVRAM 
) [static]

free_VRAM_stack_sub

Parameters:
in_out_StackPointerin_out_StackPointer
frame_bufferframe_buffer
StartOfVRAMStartOfVRAM
Returns:
Error code, 0=No error
Description
  • If frame_buffer - >buffer_count == 0, do nothing.

Definition at line 278 of file window_surfaces.c.

errnum_t GS_ToInFrame ( gs_frame_width_height_t SourceFrameBuffer,
gs_frame_width_height_t DestinationFrameBuffer,
gs_rectangle_t SourceRect,
gs_rectangle_t DestinationRect 
)

Put "SourceRect" and "DestinationRect" into the frame.

Parameters:
SourceFrameBuffergs_frame_width_height_t
DestinationFrameBuffergs_frame_width_height_t
SourceRectgs_rectangle_t
DestinationRectgs_rectangle_t
Returns:
Error Code. 0=No Error.
Description
  • If out of frame then "SourceRect - >Left > SourceRect->Right".

Definition at line 1994 of file window_surfaces.c.

errnum_t R_VRAM_EX_STACK_Alloc ( vram_ex_stack_t self,
frame_buffer_t in_out_FrameBuffer 
)

Allocate VRAM from external RAM.

Parameters:
selfvram_ex_stack_t
in_out_FrameBufferframe_buffer_t
Returns:
Error code, 0=No error
Description
  • (input) - >stride, ->height, ->buffer_count
  • (output) - >buffer_address[(all)]

Definition at line 2153 of file window_surfaces.c.

errnum_t R_VRAM_EX_STACK_Free ( vram_ex_stack_t self,
frame_buffer_t frame_buffer 
)

Free VRAM to external RAM.

Parameters:
selfvram_ex_stack_t
frame_bufferframe_buffer_t
Returns:
Error code, 0=No error
Description
  • If frame_buffer - >buffer_count == 0, do nothing.

Definition at line 2162 of file window_surfaces.c.

errnum_t R_VRAM_EX_STACK_Initialize ( vram_ex_stack_t self,
void *  NullConfig 
)

R_VRAM_EX_STACK_Initialize.

Parameters:
selfvram_ex_stack_t
NullConfigNULL
Returns:
Error Code. 0=No Error.

Definition at line 2127 of file window_surfaces.c.

errnum_t R_WINDOW_SURFACES_AccessLayerAttributes ( window_surfaces_t self,
layer_attributes_t in_out_Attributes 
)

Set or get by <layer_attributes_t>

Parameters:
selfwindow_surfaces_t
in_out_Attributes<layer_attributes_t>
Returns:
Error code, 0=No error

Definition at line 1616 of file window_surfaces.c.

errnum_t R_WINDOW_SURFACES_AllocOffscreenStack ( window_surfaces_t *const   self,
frame_buffer_t *const   in_out_frame_buffer 
)

R_WINDOW_SURFACES_AllocOffscreenStack.

Allocate offscreen from stack.

Parameters
None
Returns:
None.

Definition at line 1549 of file window_surfaces.c.

errnum_t R_WINDOW_SURFACES_DoMessageLoop ( window_surfaces_t self )

Emulate message loop function.

Parameters:
selfwindow_surfaces_t
Returns:
Error code, 0=No error

Definition at line 1603 of file window_surfaces.c.

errnum_t R_WINDOW_SURFACES_Finalize ( window_surfaces_t *const   self,
errnum_t  e 
)

R_WINDOW_SURFACES_Finalize.

Parameters:
selfwindow_surfaces_t
eErrors that have occurred. No error = 0
Returns:
Error code or e, 0 = successful and input e=0

Definition at line 1174 of file window_surfaces.c.

errnum_t R_WINDOW_SURFACES_FreeOffscreenStack ( window_surfaces_t *const   self,
const frame_buffer_t *const   frame_buffer 
)

R_WINDOW_SURFACES_FreeOffscreenStack.

Free offscreen to stack.

Parameters
None
Returns:
None.

Definition at line 1578 of file window_surfaces.c.

errnum_t R_WINDOW_SURFACES_GetLayerFrameBuffer ( const window_surfaces_t *const   self,
int_fast32_t const   layer_num,
frame_buffer_t **const   out_frame_buffer 
)

Get <frame_buffer_t>* of specified layer number.

Parameters:
selfwindow_surfaces_t
layer_numlayer_num
out_frame_bufferout_frame_buffer
Returns:
Error code, 0=No error

Definition at line 1277 of file window_surfaces.c.

void R_WINDOW_SURFACES_InitConst ( window_surfaces_t *const   self )

R_WINDOW_SURFACES_InitConst.

Parameters:
selfwindow_surfaces_t
Returns:
None

Definition at line 521 of file window_surfaces.c.

errnum_t R_WINDOW_SURFACES_Initialize ( window_surfaces_t *const   self,
window_surfaces_config_t in_out_config 
)

R_WINDOW_SURFACES_Initialize.

Parameters:
selfwindow_surfaces_t
in_out_configwindow_surfaces_config_t
Returns:
Error code, 0=No error

Definition at line 545 of file window_surfaces.c.

errnum_t R_WINDOW_SURFACES_SwapBuffers ( window_surfaces_t *const   self,
int_fast32_t const   layer_num,
graphics_t *const   context 
)

R_WINDOW_SURFACES_SwapBuffers.

Parameters:
selfwindow_surfaces_t
layer_numlayer_num
contextGraphics context or NULL
Returns:
Error code, 0=No error

Definition at line 1310 of file window_surfaces.c.

static errnum_t R_WINDOW_SURFACES_SwapBuffers_Sub ( window_surfaces_t *const   self,
int_fast32_t const   layer_num 
) [static]

Sub routine of <R_WINDOW_SURFACES_SwapBuffers>

Parameters:
selfwindow_surfaces_t
layer_numlayer_num
Returns:
Error code, 0=No error

Definition at line 1411 of file window_surfaces.c.

errnum_t R_WINDOW_SURFACES_SwapBuffersStart ( window_surfaces_t *const   self,
int_fast32_t const   layer_num,
r_ospl_async_t async 
)

Asynchronous function of <R_WINDOW_SURFACES_SwapBuffers>

Parameters:
selfwindow_surfaces_t
layer_numlayer_num
asyncr_ospl_async_t
Returns:
Error code, 0=No error

Definition at line 1381 of file window_surfaces.c.

errnum_t R_WINDOW_SURFACES_WaitForVSync ( window_surfaces_t *const   self,
int_fast32_t const   swap_interval,
bool_t const   is_1_v_sync_at_minimum 
)

Wait for V-Sync.

Parameters:
swap_intervalIf 1=60fps Then 2=30fps, 3=20fps
is_1_v_sync_at_minimumfalse = It is possible to return soon
Returns:
Error Code. 0=No Error.

Definition at line 1535 of file window_surfaces.c.

static void vdc5_init_func ( uint32_t const   user_num ) [static]

vdc5_init_func

Parameters:
user_numchannel
Returns:
None

Definition at line 1140 of file window_surfaces.c.

static void vdc5_quit_func ( uint32_t const   user_num ) [static]

vdc5_quit_func

Parameters:
user_numchannel
Returns:
None

Definition at line 1253 of file window_surfaces.c.

STATIC_INLINE errnum_t window_surfaces_t__get_attribute ( window_surfaces_t *const   self,
int_fast32_t const   in_LayerNum,
window_surfaces_attribute_t **const   out_Attribute 
)

Get <window_surfaces_attribute_t>

Parameters:
selfwindow_surfaces_t
in_LayerNumin_LayerNum
out_Attributeout_Attribute
Returns:
Error code, 0=No error

Definition at line 478 of file window_surfaces.c.

STATIC_INLINE errnum_t window_surfaces_t__get_layer ( window_surfaces_t *const   self,
int_fast32_t const   in_LayerNum,
window_surfaces_vdc5_layer_t **const   out_Layer 
)

Get <window_surfaces_vdc5_layer_t>

Parameters:
selfwindow_surfaces_t
in_LayerNumin_LayerNum
out_Layerout_Layer
Returns:
Error code, 0=No error

Definition at line 432 of file window_surfaces.c.

static errnum_t window_surfaces_vdc5_layer_t__initialize ( window_surfaces_vdc5_layer_t *const   self,
int_fast32_t const   layer_num,
vdc5_graphics_type_t const   graphics_layer_ID 
) [static]

Initialize <window_surfaces_vdc5_layer_t>

Parameters:
selfwindow_surfaces_vdc5_layer_t
layer_numlayer_num
graphics_layer_IDgraphics_layer_ID
Returns:
Error code, 0=No error

Definition at line 365 of file window_surfaces.c.