Seite 3 von 4

Re: Module für PureBasic 5.2x LTS

Verfasst: 12.03.2014 10:24
von RSBasic
BufferQueue.pbi (NicTheQuick)
Basierend auf folgendem Code: Monitor-Module

Code: Alles auswählen

DeclareModule BufferQueue
   EnableExplicit
   
   DebugLevel 0
   
   CompilerIf Not #PB_Compiler_Thread
      CompilerError "Please activate the thread safe option!"
   CompilerEndIf
   
   #STRING_BUFFER_SIZE = 64
   
   Interface BufferQueue
      free.i()
      
      popAscii.a()
      popByte.b()
      popUnicode.u()
      popWord.w()
      popCharacter.c()
      popLong.l()
      popFloat.f()
      popDouble.d()
      popQuad.q()
      popInteger.i()
      popString.s(format.i = -1)
      
      popMemory.i(*buffer, length.i)
      
      pushAscii(a.a)
      pushByte(b.b)
      pushUnicode(u.u)
      pushWord(w.w)
      pushCharacter(c.c)
      pushLong(l.l)
      pushFloat(f.f)
      pushDouble(d.d)
      pushQuad(q.q)
      pushInteger(i.i)
      pushString(s.s, format.i = -1)
      
      pushMemory(*buffer, length.i)
   EndInterface
   
   Declare.i newBufferQueue(size.i = 4096)
EndDeclareModule

Re: Module für PureBasic 5.2x LTS

Verfasst: 21.03.2014 19:30
von RSBasic
ButtonColorGadget.pbi (mk-soft)

Erstellung und Festlegung der Farbe eines eigenen Buttons.

Code: Alles auswählen

DeclareModule ButtonColorGadget
 
  Declare Create(id, x, y, dx, dy, text.s, frontcolor = $000000, backcolor = $C0C0C0)
 
EndDeclareModule

Re: Module für PureBasic 5.2x LTS

Verfasst: 22.03.2014 23:19
von RSBasic
CvField.pbi (Andesdaf)

Modul für Text- und Bildfelder im CanvasGadget

Code: Alles auswählen

DeclareModule CvField
  Enumeration
    #TYPE_TEXT
    #TYPE_IMAGE
   
    #POS_HRIGHT
    #POS_HMIDDLE
    #POS_HBOTTOM
    #POS_BORDER
    #POS_CENTER
   
    #MODE_BEGIN
    #MODE_DRAW
    #MODE_END
   
    #TEXT_LEFT
    #TEXT_CENTER
    #TEXT_RIGHT
   
    #STACK_TOP
    #STACK_BOTTOM
    #STACK_UP
    #STACK_DOWN
  EndEnumeration
 
  UseJPEGImageDecoder()
  UseJPEG2000ImageDecoder()
  UsePNGImageDecoder()
  UseTIFFImageDecoder()
  UseTGAImageDecoder()
 
  Declare.i AddLevel(sName.s, piGadget.i)
  Declare.i SetCurrentLevel(sName.s)
  Declare.i GetLevels(List pllLevels.s())
  Declare.i DeleteLevel()
  Declare.s LevelBackImage(psValue.s = "")
  Declare.i LevelBackColor(piValue.i = -1)
  Declare.i AddField(piType.i, piX.i = 0, piY.i = 0, piWidth = 0, piHeight = 0)
  Declare.i DeleteField()
  Declare.i SetFieldStack(piPosition.i)
  Declare.i GetActionFromMouse()
  Declare.i MoveField(piMode.i)
  Declare.i ResizeField(piHandle.i, piMode.i)
  Declare.i SelectField(piDeselect.i = 0)
  Declare.i SetSelectedField()
  Declare.i FieldType()
  Declare.s FieldText(psValue.s = "<!IGNORE>")
  Declare.i FieldTextAlign(piValue.i = -1)
  Declare.i FieldTextWordwrap(piValue.i = -1)
  Declare.s FieldImage(psValue.s = "")
  Declare.i FieldImageConstant(piValue.i = -1)
  Declare.s FieldFontName(psValue.s = "")
  Declare.i FieldFontSize(piValue.i = -1)
  Declare.i FieldFontStyle(piValue.i = -1)
  Declare.i FieldFontColor(piValue.i = -1)
  Declare.i Redraw()
 
EndDeclareModule

Re: Module für PureBasic 5.2x LTS

Verfasst: 24.03.2014 16:15
von Thorsten1867
cmCipher.pbi (Bisonte)
Windows / Linux / MacOS

Dieses Modul soll die PureAES-UserLibrary von Gnozal ersetzen.

Momentan besteht dieses Modul aus 2 Funktionen:
AES_Encrypt() verschlüsselt einen Speicherblock per AES 256 und
AES_Decrypt() entschlüsselt ihn wieder.

Re: Module für PureBasic 5.2x LTS

Verfasst: 25.03.2014 17:47
von RSBasic
GradientText.pbi (Thorsten1867)

Text mit Farbverlauf als Hintergrund

Code: Alles auswählen

DeclareModule GradientText
  Declare SetBackColor(GadgetID.i, StartColor.i, EndColor.i)
  Declare SetTextColor(GadgetID.i, Color.i)
  Declare SetFont(GadgetID.i, Font.i)
  Declare SetText(GadgetID.i, Text.s)
  Declare Gadget(GadgetID.i, X.i, Y.i, Width.i, Height.i, Text.s, StartColor.i, EndColor.i, Flags.l=#False)
EndDeclareModule

Re: Module für PureBasic 5.2x LTS

Verfasst: 01.04.2014 14:13
von Thorsten1867
Infoleiste (SBond)
Windows

Die wichtigsten Funktionen der Infoleiste:

- jede GUI kann beliebig viele Infoleisten besitzen
- es können mehrere Infoleisten auf mehreren Fenstern gleichzeitig verwaltet werden
- die Infoleiste kann frei plaziert werden und bietet verschiedene Optionen, sowie Autoresize-Einstellungen
- Infoleisten können ausgeblendet werden
- jede Infoleiste kann beliebig viele Felder verwalten
- jede Infoleiste kann beliebig viele Elemente verwalten
- die SizeBox der Infoleiste kann optional ein- und ausgeschaltet werden
- jede Infoleiste besitzt ihre eigenen Elemente
- die Infoleiste, die Elemente und die Felder werden automatisch synchronisiert
- das Aktualisierungsintervall kann angepasst werden (siehe Standard-Einstellungen im Modul)
- alle Elemente generieren Eventinformationen (auch Textfelder)
- jede Infoleiste verfügt über ein eigenes Kontextmenü, das optional auch deaktiviert werden kann
- das Kontextmenü wird alphabetisch sortiert und unterstützt Symbole, sowie Haupt- und Nebenkategorien
- jedes Element kann Tooltips und Ballon-Tipps anzeigen
- Tooltips und Ballon-Tipps können neben dem Text auch einen Titel und ein Symbol anzeigen
- Tooltips können "live" aktualisiert werden
- die Parameter und Einstellungen der Element-Typen sind vollkompatibel mit den Gadgets in PureBasic
- unterstützte Element-Typen in der Infoleiste:
  • ButtonGadget
    ButtonImageGadget
    CanvasGadget
    CheckBoxGadget
    ComboBoxGadget
    DateGadget
    ExplorerComboGadget
    HyperLinkGadget
    IPAddressGadget
    ProgressBarGadget
    ScrollBarGadget
    ShortcutGadget
    SpinGadget
    StringGadget
    TextGadget
    TrackBarGadget

Re: Module für PureBasic 5.2x LTS

Verfasst: 01.04.2014 15:05
von Bisonte
AddEvents.pbi (Bisonte)
Windows only

Fügt Gadgets nicht unterstützte Events hinzu.
Bsp.: Event für FreeGadget oder einem ImageGadget eine MausPositions Abfrage wie in einem CanvasGadget...

Code: Alles auswählen

DeclareModule AddEvents
 
  Declare AE_AddEvents(Window, Gadget) ; Add #PB_EventTypes to a gadget
  Declare AE_GadgetMouseX(Gadget)      ; Get MouseX in a gadget (like WindowMouseX()) if AE_AddEvents() registered this gadget
  Declare AE_GadgetMouseY(Gadget)      ; Get MouseY in a gadget (like WindowMouseY()) if AE_AddEvents() registered this gadget
  Declare AE_SetEventType_FreeGadget(EventTypeValue) ; Set the EventType Value to your Custom Value
  Declare AE_GetEventType_FreeGadget()               ; Get the actual EventType Value for #EventType_FreeGadget
 
EndDeclareModule

Re: Module für PureBasic 5.2x LTS

Verfasst: 14.04.2014 16:37
von RSBasic
ScalingWindow.pbi (mk-soft)

Das Modul skalliert automisch alle Gadget die zum Fenster gehören.

Code: Alles auswählen

DeclareModule ScalingWindow
 
  Declare AddScaleWindow(id)
  Declare ScaleWindow(id)
  Declare RestoreWindow(id, position = 0)
 
EndDeclareModule

Re: Module für PureBasic 5.2x LTS

Verfasst: 23.04.2014 22:17
von RSBasic
MenuCommand.pbi (hjbremer)

Dieses Modul ist gedacht für dynamische PopUp Menus, mit unbekannter Anzahl der Einträge. Es aktiviert die #WM_MENUCOMMAND Message für ein Menu und schaltet die Eventverarbeitung des betreffenden Menus für PB ab. Die Event Auswertung erfolgt deshalb grundsätzlich im MainCallback.

Code: Alles auswählen

DeclareModule MenuCommand
   
   EnableExplicit
   
   Declare.s GetMenuText(menuid, pos)              ;holt den Menutext
   Declare.i GetMenuData(menuid)                   ;holt einen Wert gesetzt mit SetMenuCommand()
   Declare.i SetMenuCommand(menuid, menudata = 0)  ;aktiviert #WM_MenuCommand Message
   
   Declare.i MenuItemBreak(menuid, pos, text$)     ;teilt Menu auf, ab pos neue Spalte
     
EndDeclareModule

Re: Module für PureBasic 5.2x LTS

Verfasst: 23.04.2014 22:52
von Thorsten1867
ChartGadgetModule.pbi (uwekel)
Windows / Linux? / Mac?

ChartGadget für Balken- und Liniendiagramme

Code: Alles auswählen

DeclareModule Chart
  Declare Paint(Gadget.i)
  Declare Set(Gadget.i, Setting.i, Value.i)
  Declare Row(Gadget.i, Name.s, Type.i, Color.i, Flags.l=0)
  Declare Column(Gadget.i, Name.s)
  Declare Value(Gadget.i, Row.s, Column.s, Value.f, Flags.l=0)
  Declare Text(Gadget.i, Type.i, Text.s)
  Declare Clear(Gadget.i, Flags.l=0)
  Declare.i Gadget(Gadget.i, x.i, y.i, w.i, h.i, Flags.l=0)
EndDeclareModule