J'ai trouvé sur le forum anglais une astuce pour redimensionner un screen dans une fenêtre sans avoir a tout recharger les sprites.
IL s'agit d'ouvrir le screen dans un ContainerGadget plutôt que directement dans la fenêtre. Ainsi on redimensionne le Gadget en même temps que la fenêtre. ça marche super sauf qu'apparement la commande ExamineMouse() ne fonctionne plus correctement.
Dans la notice il est marqué d'utilisé un WindowID alors je ne sais pas si l'utilisation d'un GadgetID est finalement une erreur ou pas ...
Code avec l'utilisation de GadgetID (la souris ne fonctionne pas)
Code : Tout sélectionner
#Main=0
#Main_ScreenContainer=1
InitSprite()
InitMouse()
InitKeyboard()
OpenWindow(#Main,0,0,800,480,"PureArcade Skin Editor",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget)
CreateGadgetList(WindowID(#Main))
ContainerGadget(#Main_ScreenContainer,20,20,WindowWidth(#Main)-50,WindowHeight(#Main)-50)
OpenWindowedScreen(GadgetID(#Main_ScreenContainer),0,0,800,480,0,0,0)
;WindowID(#Main)
CloseGadgetList()
Repeat
ClearScreen(0)
StartDrawing(ScreenOutput())
ExamineMouse()
ExamineKeyboard()
Line(MouseX(),MouseY(),30,0,#White)
Line(MouseX(),MouseY(),0,30,#White)
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Code avec l'utilisation de WindowID (la souris fonctionne)
Code : Tout sélectionner
#Main=0
#Main_ScreenContainer=1
InitSprite()
InitMouse()
InitKeyboard()
OpenWindow(#Main,0,0,800,480,"PureArcade Skin Editor",#PB_Window_ScreenCentered|#PB_Window_SystemMenu|#PB_Window_SizeGadget)
CreateGadgetList(WindowID(#Main))
ContainerGadget(#Main_ScreenContainer,20,20,WindowWidth(#Main)-50,WindowHeight(#Main)-50)
OpenWindowedScreen(WindowID(#Main),0,0,800,480,0,0,0)
;GadgetID(#Main_ScreenContainer)
CloseGadgetList()
Repeat
ClearScreen(0)
StartDrawing(ScreenOutput())
ExamineMouse()
ExamineKeyboard()
Line(MouseX(),MouseY(),30,0,#White)
Line(MouseX(),MouseY(),0,30,#White)
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)