Hallo Leute,
hat hier schonmal jemand ein anderes GUI Thema (Skin/Style) für die PureBasic-Windows3D-GUI (CEGUI) erstellt oder ein anderes Thema eingebunden ?
Wie muss/kann man das bewerkstelligen.
Einfach das Bild im GUI Ordner ummalen ist dabei keine echte Lösung.
Crazy Eddie's GUI Themes ?
Crazy Eddie's GUI Themes ?
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
Re: Crazy Eddie's GUI Themes ?
Ich wollte nur mal sagen:
Ich nutze "SGX für PureBasic".
Mit einigen diversen Maus- und Design - Anpassungen rockt das unter Linux und Windows aber absolut!
Ich nutze "SGX für PureBasic".
Mit einigen diversen Maus- und Design - Anpassungen rockt das unter Linux und Windows aber absolut!
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
Re: Crazy Eddie's GUI Themes ?
sgx author here.
Did you port it to Linux or are you using wine? Although there is very little Windows specific code, several PB bugs always kept me from using it on Linux.
Did you port it to Linux or are you using wine? Although there is very little Windows specific code, several PB bugs always kept me from using it on Linux.
Re: Crazy Eddie's GUI Themes ?
Hallo #NULL,
wir können auch Deutsch kommunizieren.
Ich nutze "sgx" unter Linux(gtk3) und unter Windows. (ohne Probleme)
Ich habe mir die ganzen Mouse-Lib Funktionen beseitigt.
Hinzugefügt:
Und noch ein paar andere kleine Änderungen!
Du hast da etwas geniales programmiert, lieber #Null.
wir können auch Deutsch kommunizieren.
Ich nutze "sgx" unter Linux(gtk3) und unter Windows. (ohne Probleme)
Ich habe mir die ganzen Mouse-Lib Funktionen beseitigt.
Hinzugefügt:
Code: Alles auswählen
CompilerIf #PB_Compiler_OS = #PB_OS_Linux
#GDK_BLANK_CURSOR = -2
ImportC "-lgtk-3"
gtk_widget_get_window(*Widget.GtkWidget)
gdk_display_get_default()
gdk_display_get_pointer(*display.GdkDisplay, *screen.GdkScreen, *x, *y, *mask)
EndImport
CompilerEndIf
Procedure sgxHideNormalCursor(HideCursor.I = #True)
Protected Cursor.I
CompilerSelect #PB_Compiler_OS
CompilerCase #PB_OS_Linux
If HideCursor
Cursor = gdk_cursor_new_(#GDK_BLANK_CURSOR)
Else
Cursor = 0
EndIf
gdk_window_set_cursor_(gtk_widget_get_window(WindowID(0)), Cursor)
CompilerCase #PB_OS_MacOS
If HideCursor
CocoaMessage(0, 0, "NSCursor hide")
Else
CocoaMessage(0, 0, "NSCursor unhide")
EndIf
CompilerCase #PB_OS_Windows
If HideCursor
ShowCursor_(#False)
Else
ShowCursor_(#True)
EndIf
CompilerEndSelect
EndProcedure
Procedure.b ScreenMouseButton(Wnd, ButtonNr)
Protected x, y, mask
CompilerIf #PB_Compiler_OS = #PB_OS_Linux
;Linux Version
If Wnd
gdk_display_get_pointer(gdk_display_get_default(), #Null, @x, @y, @mask)
Select ButtonNr
Case 0
If (mask & #GDK_BUTTON1_MASK)
ProcedureReturn #True
EndIf
Case 1
If (mask & #GDK_BUTTON3_MASK)
ProcedureReturn #True
EndIf
Case 2
If (mask & #GDK_BUTTON2_MASK)
ProcedureReturn #True
EndIf
EndSelect
EndIf
CompilerElse
;Windows Version
If Wnd ; (And GetForegroundWindow_() = Wnd)
Select ButtonNr
Case 0
If GetAsyncKeyState_(#VK_LBUTTON) > 1
ProcedureReturn #True
EndIf
Case 1
If GetAsyncKeyState_(#VK_RBUTTON) > 1
ProcedureReturn #True
EndIf
Case 2
If GetAsyncKeyState_(#VK_MBUTTON) > 1
ProcedureReturn #True
EndIf
EndSelect
EndIf
CompilerEndIf
ProcedureReturn #False
EndProcedure
Procedure sgxExamine( window.i, fscreen=0, mousex=-1, mousey=-1 )
Static id, id2, parent, temp
Static topID
Static group
Static emsPrev
Static i, x, y, w, h, dy, lines
Static textposPrev
Static *it.sgx_llS_elem ; use Protected when using recursion!
Static ignore
Static otherFocused
Static mousexPrev
Static mouseyPrev
Static *animation.sgxS_Animation
Static changeLater.sgxS_ListWrapper
Static destroyed
Static editWasFocused
Static sizeOk, dw, dh
emsPrev=sgx_ems
If *sgx_emsContainer
sgx_ems = *sgx_emsContainer\i
Else
sgx_ems = ElapsedMilliseconds()
EndIf
; ############################################################################
; ############################################################################
;{ -- GET MOUSE DATA
mousexPrev = sgx_m\x
mouseyPrev = sgx_m\y
If fscreen = 0
If mousex=-1
sgx_m\x = WindowMouseX(window)
;sgx_m\dx = MouseDeltaX()
Else
sgx_m\x = mousex
sgx_m\dx = mousex - mousexPrev
EndIf
If mousey=-1
sgx_m\y = WindowMouseY(window)
;sgx_m\dy = MouseDeltaY()
Else
sgx_m\y = mousey
sgx_m\dy = mousey - mouseyPrev
EndIf
ElseIf fscreen = 1
If mousex=-1
sgx_m\x = DesktopMouseX()
;sgx_m\dx = MouseDeltaX()
Else
sgx_m\x = mousex
sgx_m\dx = mousex - mousexPrev
EndIf
If mousey=-1
sgx_m\y = DesktopMouseY()
;sgx_m\dy = MouseDeltaY()
Else
sgx_m\y = mousey
sgx_m\dy = mousey - mouseyPrev
EndIf
EndIf
; (mouselib vs winapi)
If 01
; use pb mouse lib for buttons and wheel
; problems:
; - mouse wheel may not work in windowed screen (http://www.purebasic.fr/english/viewtopic.php?f=4&t=65533)
; - mouse button may reset without actual button release (http://www.purebasic.fr/english/viewtopic.php?f=4&t=65799)
If MouseWheel() >= 0
sgx_m\wheelSign = 1
sgx_m\wheel = ScreenMouseButton(WindowID(window), 2)
Else
sgx_m\wheelSign = -1
sgx_m\wheel = ScreenMouseButton(WindowID(window), 2)
EndIf
sgx_m\leftdown_prev = sgx_m\leftdown
sgx_m\rightdown_prev = sgx_m\rightdown
sgx_m\leftdown = ScreenMouseButton(WindowID(window), 0)
sgx_m\rightdown = ScreenMouseButton(WindowID(window), 1)
sgx_m\leftclick = 0
If sgx_m\leftdown And Not sgx_m\leftdown_prev
sgx_m\leftclick = 1
EndIf
sgx_m\leftup = 0
If sgx_m\leftdown_prev And Not sgx_m\leftdown
sgx_m\leftup = 1
EndIf
sgx_m\rightclick = 0
If sgx_m\rightdown And Not sgx_m\rightdown_prev
sgx_m\rightclick = 1
EndIf
sgx_m\rightup = 0
If sgx_m\rightdown_prev And Not sgx_m\rightdown
sgx_m\rightup = 1
EndIf
Else
;.....
Du hast da etwas geniales programmiert, lieber #Null.
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat
Re: Crazy Eddie's GUI Themes ?
Oops, Forum verwechselt.wir können auch Deutsch kommunizieren.
Gut zu wissen Vielleicht integriere ich das mal irgendwann bzw. wage nochmal eine Portierung. Ist der MacOS CompilerIf-Zweig nur ein Copy/Paste Überbleibsel oder läuft das da auch? (Ich habe leider kein Mac/OSX)
Re: Crazy Eddie's GUI Themes ?
Ist ein Überbleibsel !#NULL hat geschrieben:st der MacOS CompilerIf-Zweig nur ein Copy/Paste Überbleibsel oder läuft das da auch? (Ich habe leider kein Mac/OSX)
Ich habe auch kein MacOS und kann es daher auch nicht für dieses Unix-Betriebssystem testen / bzw. anpassen.
Betriebssysteme: div. Windows, Linux, Unix - Systeme
no Keyboard, press any key
no mouse, you need a cat
no Keyboard, press any key
no mouse, you need a cat