Code: Select all
Procedure SetGadgetShadow(Gadget, hOffset, vOffset, blur, color)
Protected.CGSize ShadowOffset
Protected.CGFloat ShadowBlurRadius, R,G,B,A
Protected.i Shadow, ShadowColor
ShadowOffset\width = hOffset
ShadowOffset\height = vOffset
ShadowBlurRadius = blur
R = Red(Color)
G = Green(Color)
B = Blue(Color)
A = Alpha(Color)
Shadow = CocoaMessage(0, 0, "NSShadow new")
ShadowColor = CocoaMessage(0, 0, "NSColor colorWithDeviceRed:@", @R,
"green:@", @G,
"blue:@", @B,
"alpha:@", @A)
CocoaMessage(0, Shadow, "setShadowOffset:@", @ShadowOffset)
CocoaMessage(0, Shadow, "setShadowBlurRadius:@", @ShadowBlurRadius)
CocoaMessage(0, Shadow, "setShadowColor:", ShadowColor)
CocoaMessage(0, GadgetID(Gadget), "setWantsLayer:", #YES)
CocoaMessage(0, GadgetID(Gadget), "setShadow:", Shadow)
CocoaMessage(0, Shadow, "release")
EndProcedure
If OpenWindow(0, 0, 0, 270, 160, "TextGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TextGadget(0, 10, 10, 250, 20, "TextGadget Standard (Left)")
TextGadget(1, 10, 70, 250, 20, "TextGadget Center", #PB_Text_Center)
TextGadget(2, 10, 40, 250, 20, "TextGadget Right", #PB_Text_Right)
TextGadget(3, 10, 100, 250, 20, "TextGadget Border", #PB_Text_Border)
TextGadget(4, 10, 130, 250, 20, "TextGadget Center + Border", #PB_Text_Center | #PB_Text_Border)
SetGadgetShadow(0, 4, 4, 4, $800000ff)
SetGadgetShadow(3, 2, 2, 4, $8000ff00)
Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf