03-30-2025, 05:49 PM
This is actually an option I have been leaning towards. I didn't even have to visit Pisa, to come up with it, either!
I know if I did a hardware popup, I'd have to draw the menu in the background on a graphics screen, copy the image to memory, and then it would be usable. That would allow for the different colors of text in the menu, too.
I would have to switch to the same idea for menu highlighting shadow effect that you posted. I created the shadow on my menu that makes it 3-D like that, already.
I wouldn't need to convert the software buttons, because this method would allow the hardware to go over the software buttons and the translucent shadow would allow see-through where applicable.
The one thing holding me back is that I have some menus that prompt for text input. That stuff is better left to a software menu than a hardware one.
Now the other method I've been exploring is to just make the screen a hardware image. Steve showed us that was possible by using _SAVEIMAGE. What is really cool is it looks like Sam is interested in making this easier by creating a _COPYIMAGE for SCREEN 0, _COPYIMAGE(0, 33)
oh, and about _FREEIMAGE
I see you use the same variable for both your image screen and image. I would think you would want to use different variables, so you could free the screen variable right after you copy it, and only free the image variables after they are no longer to be displayed.
Example converted from your other program.
What is your take on this? I see that your not freeing what could be made a disposable drawing screens, and by overwriting the screen handle with the image handle, you wouldn't be able to free the memory of those screens.
Pete
I know if I did a hardware popup, I'd have to draw the menu in the background on a graphics screen, copy the image to memory, and then it would be usable. That would allow for the different colors of text in the menu, too.
I would have to switch to the same idea for menu highlighting shadow effect that you posted. I created the shadow on my menu that makes it 3-D like that, already.
I wouldn't need to convert the software buttons, because this method would allow the hardware to go over the software buttons and the translucent shadow would allow see-through where applicable.
The one thing holding me back is that I have some menus that prompt for text input. That stuff is better left to a software menu than a hardware one.
Now the other method I've been exploring is to just make the screen a hardware image. Steve showed us that was possible by using _SAVEIMAGE. What is really cool is it looks like Sam is interested in making this easier by creating a _COPYIMAGE for SCREEN 0, _COPYIMAGE(0, 33)
oh, and about _FREEIMAGE
I see you use the same variable for both your image screen and image. I would think you would want to use different variables, so you could free the screen variable right after you copy it, and only free the image variables after they are no longer to be displayed.
Example converted from your other program.
Code: (Select All)
Img1Screen = _NewImage(112, 16, 32)
_Dest Img1Screen
Cls , _RGBA32(127, 205, 255, 125)
Img1 = _CopyImage(Img1Screen, 33)
_FreeImage Img1Screen
What is your take on this? I see that your not freeing what could be made a disposable drawing screens, and by overwriting the screen handle with the image handle, you wouldn't be able to free the memory of those screens.
Pete

