Seite 1 von 1

structure aus C nach PB wandeln?

Verfasst: 13.01.2005 19:35
von nicolaus
Wer kann mir mal bitte bei der übersetzung der folgenden structure von C nach PB helfen.

Code: Alles auswählen

typedef struct{
  Uint32 hw_available:1;
  Uint32 wm_available:1;
  Uint32 blit_hw:1;
  Uint32 blit_hw_CC:1;
  Uint32 blit_hw_A:1;
  Uint32 blit_sw:1;
  Uint32 blit_sw_CC:1;
  Uint32 blit_sw_A:1;
  Uint32 blit_fill;
  Uint32 video_mem;
  SDL_PixelFormat *vfmt;
} SDL_VideoInfo;
Danke euch

Verfasst: 13.01.2005 19:45
von Zaphod

Code: Alles auswählen

Structure SDL_VideoInfo
  hw_available.l
  wm_available.l
  blit_hw.l
  blit_hw_CC.l
  blit_hw_A.l
  blit_sw.l
  blit_sw_CC.l
  blit_sw_A.l
  blit_fill.l
  video_mem.l
 *vfmt.l ; hier noch nicht ganz ok, keine ahnung wie SDL_PixelFormat aussehen soll
EndStructure
in pb gibt es keine unsigned datentypen, aber möglicherweise geht es auch mit dem normalen long.

das SDL_PixelFormat mußt du eventuell erst als structur nachbauen und dann ein zeiger auf den etsprechenden typ machen

Verfasst: 13.01.2005 19:49
von ts-soft
Sind alles unsigned Longs, so das Du die normalen Longs übergeben kannst, jedoch solltest Du Hex verwenden wegen + - ist hier irgendwo schon erklärt.
Der letzte Eintrag ist eine andere Struktur, die Du vorher definieren mußt. Hoffe mal, das das so in etwa stimmt. :mrgreen:

Sehe gerade Beitrag von Zaphod, so in etwa sollte es aussehen

Verfasst: 13.01.2005 19:54
von nicolaus
erst mal danke und dann war ich garnich so falsch gelegen mit meiner idee.
war mir halt nich sicher wie ich das

Code: Alles auswählen

Uint32 hw_available:1;
übersetzten muß. das mit der letzten variable und der anderen structure is ja klar mir gings halt um die ersten oberen variablen.

Danke noch mal

Verfasst: 13.01.2005 23:01
von MARTIN
>war mir halt nich sicher wie ich das

Code: Alles auswählen

Uint32 hw_available:1;
Wenn du diese 1 am ende meinst: für dieses Feld in der struktur wird nur 1 bit benutzt.

Und übrigens, ich wollte letztens die ganzen SDL-Strukturen nach PB Portiren. Ich habe jedoch dann aufgehört.Ich hatte auch das Problem das ich nicht wusste, wie ich bestimmte daten-typen in PB definieren soll.

Verfasst: 14.01.2005 03:19
von nicolaus
Was hast du denn mit SDL schon so gemacht? Ich habe die lib gerade erst gefunden und will mal sehen ob das für meine zwecke was ist

Verfasst: 14.01.2005 16:29
von MARTIN
>Was hast du denn mit SDL schon so gemacht?
hmm... ich habe nichts konkretes damit programiert, was irgend welchem zweck dienen sollte.
Als in Linux PB-Version noch keine 2D-Drawing funktionen, wollte ich sie damit programieren, leider war ich wohl nicht dazu im stande.
Hier ist sozusagen Entwurf dieser Library:Entwurf
>ob das für meine zwecke was ist
Was sind deine zwecke ?

Verfasst: 14.01.2005 18:45
von nicolaus
ich will mit den video funktionen ein wenig was machen. wobei ich die dll echt gut finde und schon am überlegen bin dafür ne wrapper-lib für purebasic zu machen. ich stehe gerade per mail mit dem entwickler in kontakt und werd mal nachfragen ob das ok wäre

Verfasst: 14.01.2005 19:00
von MARTIN
>wrapper-lib
"dll" lässt darauf schliessen das du windows meinst.
Mach das unter Windows wirklich Sinn....?
Windows Version von PB hat schon alles was SDL bietet.

Und ich find SDL auch super aber mit C/C++ und nicht PB.