#include "Core.h" #if defined CC_BUILD_PS4 #include "Window.h" #include "Platform.h" #include "Input.h" #include "Event.h" #include "Graphics.h" #include "String.h" #include "Funcs.h" #include "Bitmap.h" #include "Errors.h" #include "ExtMath.h" #include "Logger.h" #include "VirtualKeyboard.h" #include static cc_bool launcherMode; struct _DisplayData DisplayInfo; struct cc_window WindowInfo; void Window_PreInit(void) { Platform_LogConst("initing 1.."); } void Window_Init(void) { OrbisVideoOutResolutionStatus res; int handle = sceVideoOutOpen(ORBIS_VIDEO_USER_MAIN, ORBIS_VIDEO_OUT_BUS_MAIN, 0, 0); sceVideoOutGetResolutionStatus(handle, &res); DisplayInfo.Width = res.width; DisplayInfo.Height = res.height; DisplayInfo.ScaleX = 1; DisplayInfo.ScaleY = 1; Window_Main.Width = res.width; Window_Main.Height = res.height; Window_Main.Focused = true; Window_Main.Exists = true; Window_Main.UIScaleX = DEFAULT_UI_SCALE_X; Window_Main.UIScaleY = DEFAULT_UI_SCALE_Y; DisplayInfo.ContentOffsetX = 20; DisplayInfo.ContentOffsetY = 20; Window_Main.SoftKeyboard = SOFT_KEYBOARD_VIRTUAL; } void Window_Free(void) { } void Window_Create2D(int width, int height) { launcherMode = true; Gfx_Create(); // launcher also uses RSX to draw } void Window_Create3D(int width, int height) { launcherMode = false; } void Window_Destroy(void) { } void Window_SetTitle(const cc_string* title) { } void Clipboard_GetText(cc_string* value) { } // TODO sceClipboardGetText void Clipboard_SetText(const cc_string* value) { } // TODO sceClipboardSetText int Window_GetWindowState(void) { return WINDOW_STATE_FULLSCREEN; } cc_result Window_EnterFullscreen(void) { return 0; } cc_result Window_ExitFullscreen(void) { return 0; } int Window_IsObscured(void) { return 0; } void Window_Show(void) { } void Window_SetSize(int width, int height) { } void Window_RequestClose(void) { Event_RaiseVoid(&WindowEvents.Closing); } /*########################################################################################################################* *----------------------------------------------------Input processing-----------------------------------------------------* *#########################################################################################################################*/ void Window_ProcessEvents(float delta) { } void Cursor_SetPosition(int x, int y) { } // Makes no sense for PS Vita void Window_EnableRawMouse(void) { Input.RawMode = true; } void Window_UpdateRawMouse(void) { } void Window_DisableRawMouse(void) { Input.RawMode = false; } /*########################################################################################################################* *-------------------------------------------------------Gamepads----------------------------------------------------------* *#########################################################################################################################*/ void Gamepads_Init(void) { Input.Sources |= INPUT_SOURCE_GAMEPAD; } void Gamepads_Process(float delta) { } /*########################################################################################################################* *------------------------------------------------------Framebuffer--------------------------------------------------------* *#########################################################################################################################*/ void Window_AllocFramebuffer(struct Bitmap* bmp, int width, int height) { bmp->scan0 = Mem_Alloc(width * height, 4, "bitmap"); bmp->width = width; bmp->height = height; } void Window_DrawFramebuffer(Rect2D r, struct Bitmap* bmp) { // TODO test } void Window_FreeFramebuffer(struct Bitmap* bmp) { Mem_Free(bmp->scan0); } /*########################################################################################################################* *------------------------------------------------------Soft keyboard------------------------------------------------------* *#########################################################################################################################*/ void OnscreenKeyboard_Open(struct OpenKeyboardArgs* args) { if (Input.Sources & INPUT_SOURCE_NORMAL) return; VirtualKeyboard_Open(args, launcherMode); } void OnscreenKeyboard_SetText(const cc_string* text) { VirtualKeyboard_SetText(text); } void OnscreenKeyboard_Close(void) { VirtualKeyboard_Close(); } /*########################################################################################################################* *-------------------------------------------------------Misc/Other--------------------------------------------------------* *#########################################################################################################################*/ void Window_ShowDialog(const char* title, const char* msg) { /* TODO implement */ Platform_LogConst(title); Platform_LogConst(msg); } cc_result Window_OpenFileDialog(const struct OpenFileDialogArgs* args) { return ERR_NOT_SUPPORTED; } cc_result Window_SaveFileDialog(const struct SaveFileDialogArgs* args) { return ERR_NOT_SUPPORTED; } #endif