Aktuelle Zeit: 10.12.2018 05:18

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Crazy Eddie's GUI Themes ?
BeitragVerfasst: 02.06.2018 17:57 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
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.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Crazy Eddie's GUI Themes ?
BeitragVerfasst: 01.12.2018 22:28 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
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!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Crazy Eddie's GUI Themes ?
BeitragVerfasst: 02.12.2018 14:03 
Offline
Benutzeravatar

Registriert: 20.04.2006 09:50
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.

_________________
my pb stuff..
Bild..jedenfalls war das mal so.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Crazy Eddie's GUI Themes ?
BeitragVerfasst: 02.12.2018 14:19 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
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:

Code:
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
;.....



Und noch ein paar andere kleine Änderungen!

Du hast da etwas geniales programmiert, lieber #Null.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Crazy Eddie's GUI Themes ?
BeitragVerfasst: 02.12.2018 14:47 
Offline
Benutzeravatar

Registriert: 20.04.2006 09:50
Zitat:
wir können auch Deutsch kommunizieren.
Oops, Forum verwechselt.

Gut zu wissen :allright: 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)

_________________
my pb stuff..
Bild..jedenfalls war das mal so.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Crazy Eddie's GUI Themes ?
BeitragVerfasst: 02.12.2018 14:59 
Offline

Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge
#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)


Ist ein Überbleibsel !

Ich habe auch kein MacOS und kann es daher auch nicht für dieses Unix-Betriebssystem testen / bzw. anpassen.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye