Have you ever seen this Done in MaxGUI

BlitzMax Forums/BlitzMax GUI Programming/Have you ever seen this Done in MaxGUI

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

You might want to use canvas's instead It will be more adaptable

Can anyone compile this for Mac or Lynx? Can you send me a copy? No changes please, just for my work (b)log


Framework BRL.Win32MaxGUI
Import BRL.FreeAudioAudio
Import BRL.Retro
Import BRL.Timer
Import BRL.EventQueue

Global Total_scans:Long,ts2:Int,ts3:Int
Global Paddle:TGadget[2]
Global Canvas:TGadget[2]
Global Ssound:Float
Global Sound_on:Int
Global Ball:TGadget
Global BExit:TGadget
Global y:Int[2]
Global Pdy:Float
Global bx:Float,by:Float
Global xpseed:Float=5.0
Global dx:Float=4.0,dy:Float=4.0

Global dw:Int = GadgetWidth( Desktop() )
Global dh:Int = GadgetHeight( Desktop() )

y[0]=50
y[1]=dh-200
bx=dw/2
by=dh/2

fr=10000
Global sample:TAudioSample=CreateAudioSample( 32,fr,SF_MONO8 )
For k=0 Until 32
f=0
If k>15 Then f=127
sample.samples[k]=f         ''Sin(k*360/32)*127.5+127.5
Next
Global sound:TSound=LoadSound( sample,True )
Global Sound_channel=CueSound(sound)
SetChannelVolume sound_channel,0.2

AppTitle$="Cannot Run Application"
Type TApplet 
Method OnEvent(Event:TEvent) Abstract
Method New()
AddHook EmitEventHook,eventhook,Self
End Method
Function eventhook:Object(id,data:Object,context:Object)
Local event:TEvent
Local app:TApplet
event=TEvent(data)
app=TApplet(context)
app.OnEvent event	
End Function
End Type

Type CheckApplet Extends TApplet
Field timer:TTimer
Method OnEvent(Event:TEvent)

Select event.id

Case EVENT_GADGETACTION
	Select Event.Source

			Case BExit
			End

		End Select
			
	Case EVENT_WINDOWCLOSE
	End

Case EVENT_TIMERTICK
bx:+dx
by:+dy

If sound_on=True
If MilliSecs()-100.0 > Ssound
PauseChannel Sound_channel
EndIf
EndIf

If bx<50
 dx=xpseed
 ResumeChannel sound_channel
 Ssound=MilliSecs()
 Sound_on=True
EndIf

If bx>dw-70
 dx=0.0-xpseed
 ResumeChannel sound_channel
 Ssound=MilliSecs()
 Sound_on=True
EndIf

If by<15
 dy=0.0-dy
 ResumeChannel sound_channel
 Ssound=MilliSecs()
 Sound_on=True
EndIf

If by>dh-72 
 dy=0.0-dy
 ResumeChannel sound_channel
 Ssound=MilliSecs()
 Sound_on=True
EndIf

For i=0 To 1
If by>y[i]
If dx>0.0
If i=0 Then Pdy=1.0 Else Pdy=5.0
If i=1 Then Pdy=5.0 Else Pdy=1.0
EndIf
If dx<0.0
If i=1 Then Pdy=1.0 Else Pdy=5.0
If i=0 Then Pdy=5.0 Else Pdy=1.0
EndIf
Else
If dx>0.0
If i=0 Then Pdy=-1.0 Else Pdy=-5.0
If i=1 Then Pdy=-5.0 Else Pdy=-1.0
EndIf
If dx<0.0
If i=1 Then Pdy=-1.0 Else Pdy=-5.0
If i=0 Then Pdy=-5.0 Else Pdy=-1.0
EndIf
EndIf
y[i]:+Pdy
Next

SetGadgetShape(Paddle[0],30,y[0]-50,20,100)
SetGadgetShape(Paddle[1],dw-50,y[1]-50,20,100)
SetGadgetShape(Ball,bx,by,20,20)

ts2:+1
ts2:&7
End Select
If ts2=1
ts2=2
ts3:+1
ts3:&15
If ts3<8
SetGadgetText(textareax,"Pong "+Left$("        ",ts3)+"+"+Right$("        ",7-ts3)+" Pong")
EndIf
If ts3>7
SetGadgetText(textareax,"Pong "+Left$("        ",7-(ts3-8))+"+"+Right$("        ",ts3-8)+" Pong")
EndIf
EndIf
End Method

Method Create:CheckApplet()
Local a:TApplet
timer=CreateTimer(100)
Return Self		
End Method
End Type

Local system_check_hook:CheckApplet
system_check_hook=New CheckApplet.Create()

Global Tool:TGadget=CreateWindow("", Dw-170,20,88,41,,WINDOW_TOOL)
Global linetop:TGadget=CreateWindow("", 10,12,dw-20,8,tool,WINDOW_TOOL)
Global linemiddle:TGadget=CreateWindow("", Dw/2,12,8,dh-55,tool,WINDOW_TOOL)
Global linebottom:TGadget=CreateWindow("",10,dh-50,dw-20,8,tool,WINDOW_TOOL)

BExit=CreateButton("Exit",0,21,88,20,tool,BUTTON_OK)
Global textareax=CreateTextArea(0-2,0-2,150,32,Tool)
SetGadgetLayout textareax,1,1,1,1
SetTextAreaText textareax,Null
SetGadgetColor(textareax,0,85,229)

paddle[0]=CreateWindow("", 30,y[0]-50, 20,100,,WINDOW_TOOL)
Global textareaa=CreateTextArea(0-2,0-2,30,120,paddle[0])
SetGadgetLayout textareaa,1,1,1,1
SetTextAreaText textareaa,Null
SetGadgetColor(textareaa,0,255,0)

paddle[1]=CreateWindow("", dw-50,y[1]-25, 20,100,,WINDOW_TOOL)
Global textareab=CreateTextArea(0-2,0-2,30,120,paddle[1])
SetGadgetLayout textareab,1,1,1,1
SetTextAreaText textareab,Null
SetGadgetColor(textareab,255,0,0)

ball=CreateWindow("", bx-10,by-10, 20,20,,WINDOW_TOOL)

ShowGadget(Tool)
Repeat
WaitSystem()
Forever