plattformunabhänige gui proggen



  • hi

    ich arbeite an einem eigenen os. Es ist ein reines lernprojekt das heist ich weiß das ich noch viel lernen muß und das ich mir viel vornehme. Meine frage jezt bis jezt hab ich nur textbassiert geschrieben was heisen soll es gab keine grafiche oberfläche. nun möchte ich aber eben diese schreiben. mein problem ist das ich nicht weiß wie ich genauu anfangen soll. Ich höre immer wieder winapi mfc... aber diese sind doch an windows gebundn ich brauche jedoch welche die plattformunabhängig sind oder du MS dos kompatibel sind. vieleicht ist das jezt alles was verwirrend geschrieben, aber mein kopf steckt voller ideen und ich weiß nicht wie ich anfangen soll. ich brauch eigentlich nur kurz hilfe wie ich es schaff ein grafisches grundgerüst zu schreiben.
    Ach ja ich google schon seit ca. 2wochen hab aber nix braubares gefunden und auch über die board suche kamen zwar einige themen aber nicht das was ich such.

    Ach ja da ich bis jezt c++ pascal programmiert hab und kein assembler will ich mein system auf freedos aufbauen und dann später wenn ich mich in assembler eingearbeitet hab will ich dann meinen eigenen kernel schreiben.

    Gruß Gismo2004



  • Hallo,

    wxWidgets ist ganz ok. Es gibt aber auch noch andere Frameworks, und es wurde bereits mehrfach diskutiert, z. B. hier:
    http://www.c-plusplus.net/forum/viewtopic.php?t=63291&highlight=welches+framework



  • Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • QT

    von trolltech

    ist ein API-Wrapper für WIN, Linux

    http://www.trolltech.com/



  • Ich glaub hier wurde was falsch aufgefasst, wenn du ne GUI haben möchtest in
    _deinem_ OS so musst du zuerst einmal ne eigene Schnittstelle Anbieten für
    grafische Elemente, welche dann von Librarys wie QT,wxWidgets,... gewrappt werden
    kann, was aber du selbst machen musst.

    Ich denke mal freedos, bietet keine Schnittstelle für Zeichenoperationen, sprich
    du musst das selber entwickeln und dann kannst du mit deinen Programmen auf diese
    Zugreifen und etwas grafisches ausgeben.



  • Ja, du magst Recht haben. Ist in der Tat etwas verwirrend das Ganze. Aber irgendwie kann ich das immer noch nicht so wirklich einordnen.

    ich brauch eigentlich nur kurz hilfe wie ich es schaff ein grafisches grundgerüst zu schreiben.

    ...das Wort "kurz" passt auch irgendwie nicht 🙂

    Ich möchte nicht negativ klingen, aber ein eigenes Betriebssystem ist imho eine absolut einsteigerfeindliches Projekt. Vielleicht solltest du erstmal kleinere Sachen programmieren, bevor du dich an sowas ranwagst. Du kannst dich ja mit DaniilKharlamov zusammentun, der möchte auch ein eigenes BS schreiben.



  • Eigentlich ist das doch nicht so schwer, eine GUI zu entwickeln. Jeder der schon mal ein kleines 2D-Spiel programmiert hat, kann das locker umsetzen. Wie elegant es gelöst ist, ist dann eine andere Frage. 😉 Aber das ist ja gerade das tolle daran, wenn man etwas selber machen will. Man macht sich selbst über eine Lösung gedanken.



  • Artchi schrieb:

    Eigentlich ist das doch nicht so schwer, eine GUI zu entwickeln. Jeder der schon mal ein kleines 2D-Spiel programmiert hat, kann das locker umsetzen.

    Aber er möchte doch eine _eigene_ GUI für ein _eigenes_ Betriebyssytem schreiben.
    Da behaupte ich einfach mal ohne mich genauer auszukennen das dass ganz und gar nicht einfach wird.
    Er muss erst mal alle möglichen Treiber schreiben, deren Funktionen er dann von selbsstgeschriebenen Libs aufruft. Er hat doch keine möglichkeiten wie jemand der ein 2D Spiel schreibt, woher soll er denn die Libs nehmen?



  • wenn du eine eigene GUI basteln willst, brauchst du erstmal ein grafisches Backend, dass die Grafikkarte ansprichst.

    Schau dir vielleicht mal die SDL oder libvga an.



  • VESA



  • kingruedi schrieb:

    wenn du eine eigene GUI basteln willst, brauchst du erstmal ein grafisches Backend, dass die Grafikkarte ansprichst.

    Schau dir vielleicht mal die SDL oder libvga an.

    Die sind aber höchstwarscheinlich nicht mit seinem _eigenen_ OS kompatibel.

    Ich glaube das hier hilft dir -> http://www.c-plusplus.net/forum/viewtopic.php?t=71559&highlight=esa



  • Master_Max schrieb:

    Artchi schrieb:

    Eigentlich ist das doch nicht so schwer, eine GUI zu entwickeln. Jeder der schon mal ein kleines 2D-Spiel programmiert hat, kann das locker umsetzen.

    Aber er möchte doch eine _eigene_ GUI für ein _eigenes_ Betriebyssytem schreiben.
    Da behaupte ich einfach mal ohne mich genauer auszukennen das dass ganz und gar nicht einfach wird.
    Er muss erst mal alle möglichen Treiber schreiben, deren Funktionen er dann von selbsstgeschriebenen Libs aufruft. Er hat doch keine möglichkeiten wie jemand der ein 2D Spiel schreibt, woher soll er denn die Libs nehmen?

    Für Lernzwecke brauch er doch keine großartigen Treiber coden? Er muß doch nur den Grafikchip-Mindeststandard beachten, wie hier schon genannt den VESA-Standard. Und dann wird hart reingeblittet.

    Wenn er es natürlich schöner machen will, kann er auch nen Layer (Treiber) dazwischen klemmen. Auch kein großes Ding.

    Und Treiber haben doch mit 2D-Grafikprogrammierung wenig zu tun. Eher umgekehrt: wenn ich ein Treibersystem habe, brauche ich mich als Anwender erstrecht nicht um die Hardware kümmern.

    Warum kann heute niemand eine einfache Grafik mehr in den Grafikspeicher blitten, ohne Treiber? Das haben wir damals im Schlaf auf unseren C64, Amigas, Ataris und den DOS-PCs gemacht. Einfach Grafikmodus einschalten, Startadresse des Screenbuffers ermitteln/kennen, und ab geht die Lutzi mit dem schreiben von Bytes. Und siehe da: auf dem Bildschirm passiert etwas. Ein Wunder! 😮 :p

    In Assembler ist das mit ein paar Zeilen programmiert, um einen ersten farbigen Pixel auf dem Bildschirm zu sehen. Ne einfache Schleife, und man kann schon mal ne simple Linie zeichnen. Das sind Basics. Natürlich, wer nur DirectX oder OpenGL benutzt hat, kann evtl. nicht wissen, wie so ein Grafikchip arbeitet. Aber prinzipiell ist ein Grafikchip ein ganz einfaches System.



  • Naja, ich würde mir eine Treiber Schicht implementieren. Wobei ich das arbeiten auf Basis von FreeDOS nicht für so vernünftig halte, da DOS ja mittlerweile sehr wenig mit modernen Betriebssystemen zu tun hat. Selbst die meisten Embedded OSs unterstützen mittlerweile mehrere Prozesse etc.

    Die sind aber höchstwarscheinlich nicht mit seinem _eigenen_ OS kompatibel.

    jo, aber sollte ihn ein bisschen inspirieren und code Beispiele liefern. Wobei die svgalib sogar leicht portierbar sein sollte.


Anmelden zum Antworten