IME support with gxm backend

This commit is contained in:
Ivan Epifanov
2020-12-12 23:47:15 +03:00
committed by Sam Lantinga
parent e812ca529d
commit 0da35d3daf
3 changed files with 129 additions and 7 deletions

View File

@@ -36,6 +36,8 @@
#include "SDL_render_vita_gxm_tools.h"
#include "SDL_render_vita_gxm_memory.h"
#include <psp2/common_dialog.h>
static SDL_Renderer *VITA_GXM_CreateRenderer(SDL_Window *window, Uint32 flags);
static void VITA_GXM_WindowEvent(SDL_Renderer *renderer, const SDL_WindowEvent *event);
@@ -1050,6 +1052,25 @@ VITA_GXM_RenderPresent(SDL_Renderer *renderer)
data->displayData.address = data->displayBufferData[data->backBufferIndex];
SceCommonDialogUpdateParam updateParam;
SDL_memset(&updateParam, 0, sizeof(updateParam));
updateParam.renderTarget.colorFormat = VITA_GXM_COLOR_FORMAT;
updateParam.renderTarget.surfaceType = SCE_GXM_COLOR_SURFACE_LINEAR;
updateParam.renderTarget.width = VITA_GXM_SCREEN_WIDTH;
updateParam.renderTarget.height = VITA_GXM_SCREEN_HEIGHT;
updateParam.renderTarget.strideInPixels = VITA_GXM_SCREEN_STRIDE;
updateParam.renderTarget.colorSurfaceData = data->displayBufferData[data->backBufferIndex];
updateParam.renderTarget.depthSurfaceData = data->depthBufferData;
updateParam.displaySyncObject = (SceGxmSyncObject *)data->displayBufferSync[data->backBufferIndex];
sceCommonDialogUpdate(&updateParam);
sceGxmDisplayQueueAddEntry(
data->displayBufferSync[data->frontBufferIndex], // OLD fb
data->displayBufferSync[data->backBufferIndex], // NEW fb