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
window_surfaces.hpp
00001 /******************************************************************************* 00002 * DISCLAIMER 00003 * This software is supplied by Renesas Electronics Corporation and is only 00004 * intended for use with Renesas products. No other uses are authorized. This 00005 * software is owned by Renesas Electronics Corporation and is protected under 00006 * all applicable laws, including copyright laws. 00007 * THIS SOFTWARE IS PROVIDED "AS IS" AND RENESAS MAKES NO WARRANTIES REGARDING 00008 * THIS SOFTWARE, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT 00009 * LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE 00010 * AND NON-INFRINGEMENT. ALL SUCH WARRANTIES ARE EXPRESSLY DISCLAIMED. 00011 * TO THE MAXIMUM EXTENT PERMITTED NOT PROHIBITED BY LAW, NEITHER RENESAS 00012 * ELECTRONICS CORPORATION NOR ANY OF ITS AFFILIATED COMPANIES SHALL BE LIABLE 00013 * FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES FOR 00014 * ANY REASON RELATED TO THIS SOFTWARE, EVEN IF RENESAS OR ITS AFFILIATES HAVE 00015 * BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 00016 * Renesas reserves the right, without notice, to make changes to this software 00017 * and to discontinue the availability of this software. By using this software, 00018 * you agree to the additional terms and conditions found by accessing the 00019 * following link: 00020 * http://www.renesas.com/disclaimer 00021 * Copyright (C) 2014 - 2015 Renesas Electronics Corporation. All rights reserved. 00022 *******************************************************************************/ 00023 /** 00024 * @file window_surfaces.hpp 00025 * @brief $Module: CLibCommon $ $PublicVersion: 1.20 $ (=CLIB_VERSION) 00026 * $Rev: 47 $ 00027 * $Date:: 2014-01-06 18:18:48 +0900#$ 00028 * - Description: Window Surfaces for mbed style C++ API 00029 */ 00030 00031 #ifndef WINDOW_SURFACES_HPP 00032 #define WINDOW_SURFACES_HPP 00033 00034 /****************************************************************************** 00035 Includes <System Includes> , "Project Includes" 00036 ******************************************************************************/ 00037 #include "r_ospl_typedef.h" 00038 #include "window_surfaces_typedef.h " 00039 #include "RGA.h" 00040 00041 00042 /****************************************************************************** 00043 Macro definitions 00044 ******************************************************************************/ 00045 00046 /****************************************************************************** 00047 Typedef definitions 00048 ******************************************************************************/ 00049 00050 class WindowSurfacesConfigClass; 00051 #ifdef IS_WINDOW_SURFACES_EX 00052 class GraphicsClass; 00053 class LayerAttributes; 00054 #endif 00055 00056 00057 /*********************************************************************** 00058 * Class: WindowSurfacesClass 00059 * mbed style C++ version of <window_surfaces_t> 00060 ************************************************************************/ 00061 class WindowSurfacesClass { 00062 public: 00063 /** 00064 * @brief WindowSurfacesClass 00065 * 00066 * @par Parameters 00067 * None 00068 * @return None. 00069 */ 00070 WindowSurfacesClass(); 00071 ~WindowSurfacesClass(); 00072 00073 /** 00074 * @brief initialize 00075 * 00076 * @par Parameters 00077 * None 00078 * @return None. 00079 */ 00080 errnum_t initialize( WindowSurfacesConfigClass& in_out_config ); 00081 00082 /** 00083 * @brief destroy 00084 * 00085 * @par Parameters 00086 * None 00087 * @return None. 00088 */ 00089 void destroy(); 00090 00091 /** 00092 * @brief get_layer_frame_buffer 00093 * 00094 * @par Parameters 00095 * None 00096 * @return None. 00097 */ 00098 errnum_t get_layer_frame_buffer( int_fast32_t const layer_num, frame_buffer_t** const out_frame_buffer ); 00099 00100 /** 00101 * @brief swap_buffers 00102 * 00103 * @par Parameters 00104 * None 00105 * @return None. 00106 */ 00107 #ifdef IS_WINDOW_SURFACES_EX 00108 errnum_t swap_buffers( int_fast32_t const layer_num, Canvas2D_ContextClass& context ); 00109 #else 00110 errnum_t swap_buffers( int_fast32_t const layer_num, const void* const null_context ); 00111 #endif 00112 00113 /** 00114 * @brief swap_buffers_start 00115 * 00116 * @par Parameters 00117 * None 00118 * @return None. 00119 */ 00120 errnum_t swap_buffers_start( int_fast32_t const layer_num, r_ospl_async_t* async ); 00121 00122 /** 00123 * @brief wait_for_v_sync 00124 * 00125 * @par Parameters 00126 * None 00127 * @return None. 00128 */ 00129 errnum_t wait_for_v_sync( int_fast32_t const swap_interval, bool_t const is_1_v_sync_at_minimum ); 00130 00131 /** 00132 * @brief alloc_offscreen_stack 00133 * 00134 * @par Parameters 00135 * None 00136 * @return None. 00137 */ 00138 errnum_t alloc_offscreen_stack( frame_buffer_t* const in_out_frame_buffer ); 00139 00140 /** 00141 * @brief free_offscreen_stack 00142 * 00143 * @par Parameters 00144 * None 00145 * @return None. 00146 */ 00147 errnum_t free_offscreen_stack( const frame_buffer_t* const frame_buffer ); 00148 00149 #ifdef IS_WINDOW_SURFACES_EX 00150 /** 00151 * @brief do_message_loop 00152 * 00153 * @par Parameters 00154 * None 00155 * @return None. 00156 */ 00157 errnum_t do_message_loop(); 00158 00159 /** 00160 * @brief access_layer_attributes 00161 * 00162 * @par Parameters 00163 * None 00164 * @return None. 00165 */ 00166 errnum_t access_layer_attributes( LayerAttributes& in_out_Attributes ); 00167 #endif 00168 00169 private: 00170 window_surfaces_t* _self; 00171 }; 00172 00173 00174 /*********************************************************************** 00175 * Class: WindowSurfacesConfigClass 00176 * mbed style C++ version of <window_surfaces_config_t> 00177 ************************************************************************/ 00178 class WindowSurfacesConfigClass : public window_surfaces_config_t { 00179 public: 00180 /** 00181 * @brief WindowSurfacesConfigClass 00182 * 00183 * @par Parameters 00184 * None 00185 * @return None. 00186 */ 00187 WindowSurfacesConfigClass(); 00188 }; 00189 00190 00191 /*********************************************************************** 00192 * Class: LayerAttributes 00193 * mbed style C++ version of <layer_attributes_t> 00194 ************************************************************************/ 00195 #ifdef IS_WINDOW_SURFACES_EX 00196 class LayerAttributes : public layer_attributes_t { 00197 public: 00198 /** 00199 * @brief LayerAttributes 00200 * 00201 * @par Parameters 00202 * None 00203 * @return None. 00204 */ 00205 LayerAttributes(); 00206 }; 00207 #endif 00208 00209 00210 /****************************************************************************** 00211 Variable Externs 00212 ******************************************************************************/ 00213 00214 /****************************************************************************** 00215 Functions Prototypes 00216 ******************************************************************************/ 00217 00218 #endif /* WINDOW_SURFACES_HPP */
Generated on Tue Jul 12 2022 11:15:05 by 1.7.2