Релевантно: может ли 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