Есть ли способ заставить SDL 1.2 воспринимать экран устройства как окно? - PullRequest
0 голосов
/ 26 января 2020

Релевантно: может ли SDL рисовать в родной области просмотра устройств, не создавая окно?

SDL_CreateYUVOverlay(...);`

^^ похоже, что так и будет, но я на самом деле никогда не проверял его, так как это большая работа, и я мог бы быть неправильно, так как я не совсем уверен, что делает эта функция.

tldr; мне нужно либо отключить рендеринг, чтобы он не рисовал курсор перед загрузкой реального изображения, либо найти другой способ получить окно просмотра, к которому SDL может с радостью рисовать, а не просто случайным образом рисовать черный курсор в течение 2 секунд абсолютно без объяснения причин.

Моя проблема в том, что я запускаю это приложение на Sony PSP, и он подозревает, что SDL создает какой-то тип воображаемого окна просмотра окна (PSP НЕ ДАЖЕ РАБОТАЕТ ВО ВРЕМЯ WINDOWS), поэтому по существу, он * dr aws полушернистый экран и черный курсор поверх него в течение 2 секунд, прежде чем фактически рассматривать область просмотра устройств как «окно»

Так что, по сути, идея состоит в том, чтобы SDL не рисовал это 2 секунды окна / сбитого окна на Sony PSP.

int main(int argc, char* argv[]) {
//pspDebugScreenInit();
int threadID = sceKernelCreateThread("Callback Update Thread", \
        callbackThread,\
        0x11, \
        0xFA0, \
        THREAD_ATTR_USER, \
        0);
if (threadID >= 0 ) {
sceKernelStartThread(threadID,0,0);
}
thid = threadID;
SDL_Surface* imgSurface = NULL;
SDL_Surface* screen = NULL;
SDL_Init( SDL_INIT_EVERYTHING );
screen = SDL_SetVideoMode(420, 270, 32, SDL_SWSURFACE);
imgSurface = SDL_LoadBMP("test.bmp");
SDL_BlitSurface(imgSurface, NULL, screen, NULL);
SDL_Flip(screen);
SDL_Delay(6000);
SDL_FreeSurface(imgSurface);
SDL_FreeSurface(screen);
exit_cb(0,0,NULL);
return 0;
}

Это приложение было скомпилировано с использованием бесплатного psp sony sdk

, а также вот make-файл

TARGET = alsample
OBJS = main.o

INCDIR = 
CFLAGS = -O2 -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti -ggdb
ASFLAGS = $(CFLAGS)

LIBDIR = 
##LDFLAGS = -mno-crt0
LDFLAGS = 
LIBS = -lSDL -lpspirkeyb -lpsppower -lpsphprm -lpsprtc -lpsppower -lm -lpspaudio -lpspgu -lpspgu

EXTRA_TARGETS = EBOOT.PBP
PSP_EBOOT_TITLE = Audiolib Wave Generator

PSP_FW_VERSION = 150
##PSP_LARGE_MEMORY = 1
##USE_KERNEL_LIBC = 1 

PSPSDK=$(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
...