Page 1 of 1

[PB 4.40b1] Gradient demo

Posted: Fri Aug 14, 2009 10:38 pm
by Demivec
Code updated for 5.20+

I didn't know if this was the proper forum for this or the General one.

This is a visual demonstration of the Gradient types.

Code: Select all

If Not OpenWindow(0,0,0,500,480,"Gradient Demo",#PB_Window_SystemMenu)
  MessageRequester("Error","Failed to open a window")
  End
EndIf

CreateImage(0,500,500,24)

StartDrawing(ImageOutput(0))
  DrawingMode(#PB_2DDrawing_Gradient)
  GradientColor(0,$80000000)
  GradientColor(0.03,$80FF0000)
  GradientColor(0.05,$80FF0000)
  GradientColor(0.18,$80FFFF00)
  GradientColor(0.20,$80FFFF00)
  GradientColor(0.32,$8000FF00)
  GradientColor(0.34,$8000FF00)
  GradientColor(0.46,$8000FFFF)
  GradientColor(0.48,$8000FFFF)
  GradientColor(0.60,$800000FF)
  GradientColor(0.62,$800000FF)
  GradientColor(0.74,$80FF00FF)
  GradientColor(0.76,$80FF00FF)
  GradientColor(0.88,$80FF0000)
  GradientColor(0.90,$80FF0000)
  GradientColor(1,$80000000)
  LinearGradient(0,0,250,0)
  Box(0,0,250,160)
  
  BoxedGradient(250,0,250,160)
  Box(250,0,250,160)
  
  LinearGradient(0,160,250,320)
  Box(0,160,250,160)
  
  EllipticalGradient(375,240,125,80)
  Box(250,160,250,160)
  
  CircularGradient(80,400,80)
  Box(0,320,160,160)
  
  ConicalGradient(420,400,0)
  Box(340,320,160,160)
  
  DrawingMode(#PB_2DDrawing_Gradient | #PB_2DDrawing_AlphaBlend)
  LinearGradient(160,320,320,320)
  Box(160,320,160,160)
  LinearGradient(160,320,160,480)
  Box(160,320,160,160)
  
  DrawingMode(#PB_2DDrawing_Default)
  DrawingFont(#PB_Default)
  DrawText((250 - TextWidth("Linear Gradient")) / 2, 15,"Linear Gradient",$FFFFFF)
  DrawText(250 + (250 - TextWidth("Boxed Gradient")) / 2, 15,"Boxed Gradient",$FFFFFF)
  DrawText((250 - TextWidth("Linear Gradient")) / 2, 160 + 15,"Linear Gradient",$FFFFFF)
  DrawText(250 + (250 - TextWidth("Elliptical Gradient")) / 2, 160 + 15,"Elliptical Gradient",$FFFFFF)
  DrawText((160 - TextWidth("Circular Gradient")) / 2, 320 + 15,"Circular Gradient",$FFFFFF)
  DrawText(340 + (160 - TextWidth("Conical Gradient")) / 2, 320 + 15,"Conical Gradient",$FFFFFF)
  DrawText(160 + (160 - TextWidth("AlphaBlended Gradients")) / 2, 320 + 15,"AlphaBlended Gradients",$FFFFFF)
StopDrawing()

ImageGadget(0,0,0,0,0,ImageID(0))
  
Repeat
  event = WaitWindowEvent(10)
Until event = #PB_Event_CloseWindow