Wegen Fedora bin ich glücklich weil PB im Allgemeinen ganz gut drauf läuft.
PureBasic 3.92 beta (linux)
-
the one and only
- Beiträge: 696
- Registriert: 26.09.2004 20:17
- Kontaktdaten:
Könntest du dann mal testen ?
Code: Alles auswählen
#WindowWidth = 400
#WindowHeight = 345
If OpenWindow(0, 100, 120, #WindowWidth, #WindowHeight, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget, "WebGadget")
If CreateGadgetList(WindowID())
WebGadget(1,10,10,#WindowWidth-20,#WindowHeight-20,"www.pure-board.de")
CloseGadgetList()
EndIf
Repeat
EventID.l = WaitWindowEvent()
Until EventID = #PB_EventCloseWindow
EndIf
EndAmilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
-
the one and only
- Beiträge: 696
- Registriert: 26.09.2004 20:17
- Kontaktdaten:
Also ich habe jetzt gtkmm2.4 installiert und gtkmozembedmm-1.4.2 kompiliert. Die Beispiel-Code in C++ funktionien auch einwandfrei.
In PB funktioniert WebGadged weiterhin nicht, es liegt warscheinlich daran das ich das noch nicht gemacht habe:
Verstehe irgendwie nicht.
In PB funktioniert WebGadged weiterhin nicht, es liegt warscheinlich daran das ich das noch nicht gemacht habe:
Was muss da getan werden, link auf libgtkmozembed.so ? hmm.....A link from /usr/lib/libgtkmozembed.so need to be done
Verstehe irgendwie nicht.
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
-
the one and only
- Beiträge: 696
- Registriert: 26.09.2004 20:17
- Kontaktdaten:
Der Befehl um einen Link zu erstellen ist 'ln'. Könnte manMARTIN hat geschrieben:Was muss da getan werden, link auf libgtkmozembed.so ? hmm.....
Verstehe irgendwie nicht.
mit einem Shortcut unter Windows vergleichen, auch wenn
es anders funktioniert. Es ist aber ein Link zu der wirklichen
Datei.
Hilfe zu dem Befehl bekommt man an der Console mit:
Code: Alles auswählen
man lnCode: Alles auswählen
info coreutils lnCode: Alles auswählen
cd /usr/share/purebasic/purelibraries
ln -s /usr/lib/libgtkmozembed.sodenke mal es müßte in /purelibraries - hab aktuelle Version
noch nicht installiert).
Danach mit 'ln' den Link zu der richtigen Datei erstellen. Die
Option '-s' steht hier für Symbolic Link. Um einen Hardlink
zu erzeugen einfach '-s' weglassen.
Ein Hardlink überprüft ob das Ziel auch vorhanden ist, also
sollte man das vielleicht machen:
Code: Alles auswählen
cd /usr/share/purebasic/purelibraries
ln /usr/lib/libgtkmozembed.soViele Leuten verwenden ja an der Console 'mc' (GNU Midnight Commander),
und da kann man SymLinks direkt über das Menu 'Datei > Symlink'
erstellen.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Hallo Danilo.
Viellen Dank für (wie immer) ausfühliche und sachkundige Antwort.
Das ganze ist mir auch bekannt, nur ich bin nicht darauf gekommen das man einen Link in purelibraries auf libgtkembed.so machen soll.
Leider ist es mir erst jetzt aufgefallen das ich total auf dem holzweg bin.
Ich habe ja libgtkmozembedmm.so beachte "mm", kein wunder das man gtkmm2.4 braute um sie zu kompilieren.
Jetzt frage ich mich wo kann ich libgtkmozembed.so finden ? Überall findet man nur das Wort "libgtkmozembed.so" aber die Library selbst oder Quellen oder irgendwas brauchbares nicht.
>Oder ist libgtkmozembedmm.so doch das richtige ? *total verwirrt*
Viellen Dank für (wie immer) ausfühliche und sachkundige Antwort.
Das ganze ist mir auch bekannt, nur ich bin nicht darauf gekommen das man einen Link in purelibraries auf libgtkembed.so machen soll.
Leider ist es mir erst jetzt aufgefallen das ich total auf dem holzweg bin.
Ich habe ja libgtkmozembedmm.so beachte "mm", kein wunder das man gtkmm2.4 braute um sie zu kompilieren.
Jetzt frage ich mich wo kann ich libgtkmozembed.so finden ? Überall findet man nur das Wort "libgtkmozembed.so" aber die Library selbst oder Quellen oder irgendwas brauchbares nicht.
>Oder ist libgtkmozembedmm.so doch das richtige ? *total verwirrt*
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
Keine Ahnung, habe das hier nicht installiert. Da mußt Du malMARTIN hat geschrieben:Jetzt frage ich mich wo kann ich libgtkmozembed.so finden ? Überall findet man nur das Wort "libgtkmozembed.so" aber die Library selbst oder Quellen oder irgendwas brauchbares nicht.
bei Fantaisie Software nachfragen.
Der Link zu mc vorhin war falsch - ich verwende eine modifizierte
Version: http://mc.linuxinside.com/
Funktioniert hier besser (z.B. Farben) und habe ich mir so
eingerichtet das .pb-Dateien bei Enter kompiliert werden.
Die PureBasic.xml für Kate muß hier (Suse 9.1 Pro) in:
/opt/kde3/share/apps/katepart/syntax/
...bringt hier aber einen Fehler bei Kate 2.2.1:
"/opt/kde3/share/apps/katepart/syntax/PureBasic.xml: Veraltete Syntax.
Kontext 0 besitzt keinen symbolischen Namen"
Der Sprite-Bug ist immernoch nicht behoben - habe nun
PB/Linux 3.92 gerade ausprobiert.
Der Testcode:
Code: Alles auswählen
#Screen_W = 800
#Screen_H = 600
#Sprite1 = 1
#Sprite1_W = 128
#Sprite1_H = 128
Procedure DrawGradient_Quad(w,h,col1,col2,col3,col4)
;
; Draw gradient colors for 4 corners
;
; by Danilo, 29.January 2005
;
sRed1.f = Red(col1) : r1.f = (Red (col1) - Red (col3))/h
sGreen1.f = Green(col1) : g1.f = (Green(col1) - Green(col3))/h
sBlue1.f = Blue(col1) : b1.f = (Blue (col1) - Blue (col3))/h
sRed2.f = Red(col2) : r2.f = (Red (col2) - Red (col4))/h
sGreen2.f = Green(col2) : g2.f = (Green(col2) - Green(col4))/h
sBlue2.f = Blue(col2) : b2.f = (Blue (col2) - Blue (col4))/h
For y = 0 To h-1
col1 = RGB(sRed1-y*r1,sGreen1-y*g1,sBlue1-y*b1)
col2 = RGB(sRed2-y*r2,sGreen2-y*g2,sBlue2-y*b2)
sRed3.f = Red(col1) : r3.f = (Red (col1) - Red (col2))/w
sGreen3.f = Green(col1) : g3.f = (Green(col1) - Green(col2))/w
sBlue3.f = Blue(col1) : b3.f = (Blue (col1) - Blue (col2))/w
For x = 0 To w-1
r.f = sRed3 - x*r3
g.f = sGreen3 - x*g3
b.f = sBlue3 - x*b3
Plot(x,y,RGB(r,g,b))
Next x
Next y
EndProcedure
Procedure Min(val1,val2)
; return lower value
If val1 > val2
ProcedureReturn val2
EndIf
ProcedureReturn val1
EndProcedure
If InitSprite() = 0 Or InitKeyboard() = 0 Or InitMouse() = 0
MessageRequester("ERROR","Cant init Game Engine",0):End
EndIf
If OpenScreen(#Screen_W,#Screen_H,32,"TEST") = 0 ; test 32bit
If OpenScreen(#Screen_W,#Screen_H,24,"TEST") = 0 ; if 32bit failed, test 24bit
If OpenScreen(#Screen_W,#Screen_H,16,"TEST") = 0 ; if 32/24 failed, try 16bit screen
MessageRequester("ERROR","Cant open 16/24/32bit Screen",0):End
EndIf
EndIf
EndIf
If CreateSprite(#Sprite1,#Sprite1_W,#Sprite1_H)=0
CloseScreen()
MessageRequester("ERROR","Cant create sprite !"):End
Else
If StartDrawing(SpriteOutput(#Sprite1))
DrawGradient_Quad(#Sprite1_W,#Sprite1_H,$00FFFF,$FFFF00,$0000FF,$FF0000)
x = Min(#Sprite1_W,#Sprite1_H)
For r = 0 To x/6
Circle(#Sprite1_W/2,#Sprite1_H/2,r,0)
Next r
StopDrawing()
EndIf
EndIf
Repeat
FlipBuffers()
ExamineKeyboard()
ClearScreen($00,$00,$00)
;ClipSprite(#Sprite1,0,0,#Sprite1_W/2,#Sprite1_H/2)
DisplayTransparentSprite(#Sprite1,Sprite1_X,Sprite1_Y)
; KEYBOARD CHECK
;
If KeyboardPushed(#PB_KEY_RIGHT)
Sprite1_X + 4
If Sprite1_X > #Screen_W : Sprite1_X = -#Sprite1_W : EndIf
EndIf
If KeyboardPushed(#PB_KEY_LEFT)
Sprite1_X - 4
If Sprite1_X < -#Sprite1_W : Sprite1_X = #Screen_W : EndIf
EndIf
If KeyboardPushed(#PB_KEY_UP)
Sprite1_Y - 4
If Sprite1_Y < -#Sprite1_H : Sprite1_Y = #Screen_H : EndIf
EndIf
If KeyboardPushed(#PB_KEY_DOWN)
Sprite1_Y + 4
If Sprite1_Y > #Screen_H : Sprite1_Y = -#Sprite1_H : EndIf
EndIf
Until KeyboardPushed(#PB_KEY_ESCAPE)
EndClipSprite() wieder ein, dann funktioniert es nicht mehr.
Bei der Verwendung von ClipSprite entsteht ein Fehler wenn
das Sprite auf Koordinaten X/Y kleiner 0 dargestellt wird.
Probiert es selbst aus: ClipSprite wieder reinmachen und
Sprite mit den Cursor-Tasten nach oben und nach links
aus dem Screen bewegen.
Es geht nicht. Das Sprite bleibt bei 0 stehen und das Clipping
kommt total durcheinander.
Das man mit den Drawing-Befehlen wie Circle() noch immer
keine geschlossenen Figuren zeichnen kann (da DrawingMode()
auf Linux nicht unterstützt wird) ist... arfff... "schade".
terrain.pb zeigt kein Terrain, nur eine flache Grundfläche:
Code: Alles auswählen
Creating viewport on target 'PureBasic test', rendering from camera '', relative dimensions L:0.00,T:0.00,W:100.00,H:100.00, Z-Order:0
Viewport for camera '' - actual dimensions L:0,T:0,W:640,H:480
An exception has been thrown!
-----------------------------------
Details:
-----------------------------------
Error #: 4
Function: Image::load
Description: Unable to load image file 'SkyDome' - invalid extension..
File: OgreImage.cpp
Line: 146
Stack unwinding: Image::load(..) <- <<beginning of stack>>
Error loading texture SkyDome. Texture layer will be blank.
SDLTexture: Loading clouds.jpg with 0 mipmaps from Image.in compilers/ mitgeliefert wird, die einen Crash geloggt hat.
Da sieht man gleich was einen erwartet, noch ehe man die
Beispiele selbst probiert.
Den Rest habe ich jetzt nicht ausprobiert, das reicht mir
schon wieder für den Moment.
Die alten Fehler wurden nicht behoben, sondern lieber
versucht neues Zeugs einzubauen. Wie Schade...
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
Was den Spritebug angeht, bei mir scheint es (wenn ich richtig verstehe was der ClipSprite()-Frunktion macht) zu funktionieren:
So seht das aus wenn Clipsprite auskomentiert ist : screenshot
Und so mit ClipSprite() : screenshot
So seht das aus wenn Clipsprite auskomentiert ist : screenshot
Und so mit ClipSprite() : screenshot
Amilo 1667|Suse Linux 10.1_64bit/WinXP |PB 4.00/3.94
Du hast das Sprite mitten im Screen. Der Fehler kommt aberMARTIN hat geschrieben:Und so mit ClipSprite() : screenshot
nur wenn das Sprite links oder oben zum Screen herausgeschoben wird.
Die interne Clipberechnung von Display(Transparent)Sprite
haut einfach bei -X und -Y nicht mehr hin, wenn der User
selbst geklippt hat.
cya,
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck
...Danilo
"Ein Genie besteht zu 10% aus Inspiration und zu 90% aus Transpiration" - Max Planck