confirmed on Win7 32bit , pb4.61
Code: Select all
InitSprite()
Enumeration
#Window
EndEnumeration
OpenWindow(#Window, 0, 0, 800, 600, "ScreenTitle", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(#Window), 0, 0, WindowWidth(#Window), WindowHeight(#Window), 0, 0, 0)
Repeat
ClearScreen(0)
StartDrawing(ScreenOutput())
Box(100, 100, 200, 100, RGBA($FF,$F2,$12,$FF))
Circle(200,200,200,RGBA($FF,$F2,$12,$FF))
StopDrawing()
FlipBuffers()
Until WindowEvent() = #PB_Event_CloseWindow
In my opinion ,this is not a bug ,the RGBA() function is used mainly for ImageOutPut() by Box() etc,rather than ScreenOutPut(), how to use it is decided by the user not by the function itself...you can view the help file,DrawingMode() function,"Note: The following modes only work with ImageOutput(). They are ignored for all other outputs:
#PB_2DDrawing_AlphaBlend
The drawing operations will be alpha-blended onto the background. The RGBA() command can be used to specify colors with alpha transparency in commands like FrontColor(), Box(), DrawText() etc.
#PB_2DDrawing_AlphaClip
The drawing operations will be alpha-blended onto the background like with the #PB_2DDrawing_AlphaBlend mode, with the addition that the alpha channel of the drawing output acts as a mask. This means that areas of the output that are transparent before the blending will also remain transparent afterwards. If the drawing output has no alpha channel then this mode acts just like the #PB_2DDrawing_AlphaBlend mode.
#PB_2DDrawing_AlphaChannel
The drawing operations will only modify the alpha channel of the drawing output. All color information is ignored. For example drawing a circle with a color value of RGBA(0, 0, 0, 0) will "cut" a hole into the drawing output by making the circle area fully transparent. If the drawing output has no alpha channel then no drawing will have an effect in this mode.
".......
poor English...
PureBasic & Delphi & VBA