c++ graphik library gesucht

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
oli_f
Beiträge: 272
Registriert: 24.10.2003 12:27:05

c++ graphik library gesucht

Beitrag von oli_f » 09.09.2004 18:28:52

ich habe an der schule gelernt zu programmieren und wir benutzen da CHAMP. das ist eine library für c++ die auf der win-api basiert und mit der man so zeichnen kann...

Nun muss ich bald eine Arbeit (ein proggy) schreiben und möchte dies unter LINUX tun. Jetzt suche ich eine Graphik Library die möglichst ähnlich ist da ich den Quelltext zT schon geschrieben habe!

Und zwar brauche ich folgende Sachen in dieser Library:

-ich kann ein Objekt CPWindow erstellen, das gibt mir ein Graphikfenster mit unsichtbarem, frei wählbarem, von der anzahl Pixel unabhängigem, 2D Koordinatensystem.

-in diesem Fenster kann ich versch Koordinatengraphiken zeichnen so zB Linien, Kreise, Pixel anfärben, usw. mit befehlen wie "window.line( x1, y1, x2, y2 );"

- Text an einer Best Koordinate Ausgeben: "window.text( x, y ) << "text" "

- Den Inhalt des Graphikfensters wieder Leeren window.clear();

- Das fenster "einfrieren" um zuerst alles Ausrechnen zu lassen und in den Buffer schreiben zu lassen bevor ich es zeichnen lasse (oder macht man das unter LINUX anders?) "window.freeze(); <code> window.redraw();"

Meine Arbeit wird dann sein ein 3D Raum darin mit hilfe von Parallelprojektion darzustellen und für diesen 3D Raum eine Vektorklasse zu schreiben. ich muss also von diesem CPWindow erben können.....

puh weiss jemand etwas oder gibts da schlichtwegs nichts ??
error - divided by 0

youssef
Beiträge: 8
Registriert: 11.07.2004 17:47:24

gui unter Linux

Beitrag von youssef » 10.09.2004 15:52:08

hallo,
cook dir das Link an
http://www.c-plusplus.de/forum/viewtopic.php?t=39515

youssef

oli_f
Beiträge: 272
Registriert: 24.10.2003 12:27:05

Beitrag von oli_f » 10.09.2004 16:57:52

hallo

merci für den link aber ich suche eben kein gui toolkit das brauch ich alles nicht, alles was ich möchte ist ein fenster-objekt mit elementaren koordinatengraphik befehlen....
error - divided by 0

Benutzeravatar
Dookie
Beiträge: 1104
Registriert: 17.02.2002 20:38:19
Wohnort: Salzburg
Kontaktdaten:

Beitrag von Dookie » 10.09.2004 17:14:17

Hi oli_f,

praktisch jede GUI stellt ein Canvas-Widget zur Verfügung mit den Elementaren Zeichenelementen. CHAMP kenn ich nicht und daher auch Die entsprechenden Befehle, aber schau dir mal die entsprechenden Widgets von Tk oder WxWidgets QT oder auch gtk an.


Gruß

Dookie

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 10.09.2004 20:10:00

Ich würde dir persönlich zu WxWidgets raten, da die Cross-Platform sind und auch unter Windows laufen (natürlich musst du dein Programm nochmal unter Windows kompilieren)
Das gilt zwar auch für die anderen genannten, aber
1. finde ich Tk nicht so toll
2. ist gtk C-basiert und nicht so portabel wie wxwidgets
3. ist wxWidgets ähnlich aufgebaut wie MFC
4. ist QT unter Windows nur gegen Bezahlung in nicht freien Programmen zu haben.

FLTK scheint auch beliebt zu sein, ich weiss allerdings nicht, ob es auch ein canvas hat, ich glaube aber schon.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 10.09.2004 21:10:40

Joghurt hat geschrieben:3. ist wxWidgets ähnlich aufgebaut wie MFC
Das ist imo ein Nachteil. Und zwar nicht weil die MFC von Microsoft und alles von Microsoft böse ist (Tastaturen und Mäuse sinds z.B. nicht) sondern weil die MFC von Grund auf böse ist ;)
4. ist QT unter Windows nur gegen Bezahlung in nicht freien Programmen zu haben.
Ich nehme mal an der Satz meint schon das richtige - aber erklären tut er die Sachlage von Qt unter Win32 nicht wirklich.

Für Freie Software die Nicht kommerziell ist gibts die NC aus dem Qt-Buch (das kostet, ist aber ein sehr gutes Buch und das Geld auf jeden Fall wert).

Für Freie Software gibts den GPL-Port der auf XFree für Windows aufsetzt - Cygwin-Zeugs und so. Aber die Sache ist eher fett - Windows, darauf XFree, darauf Qt und irgendwie unsympathisch - man kann Programme nicht einfach so verteilen sondern die andernen brauchen auch XFree mit Cygwin.

Für Freie Software gibts den nativen GPL-Port - der ist aber nicht fertig (läuft aber schon ganz gut, einige Sachen fehlen einfach noch)

Für so ziemlich alles - Freie und Proprietäre, Kommerzielle und NC-Software gibts die Qt Commercial Edition - aber die kostet und zwar recht viel.
FLTK scheint auch beliebt zu sein, ich weiss allerdings nicht, ob es auch ein canvas hat, ich glaube aber schon.
FLTK ist wirklich net imo. Sehr klein und schnell - und wenn du nur sehr wenig Funktionalität willst bzw. die eigentliche Funktionalität eines Toolkits gar nichts benötigst ist das sicher eine gute Idee.

Daneben gibt es auch noch FOX - von http://www.fox-toolkit.org - das ist so grundsätzlich ähnlich wie FLTK (etwa so wie sich WxWindows und Qt ähnlich sind - beides sind grosse Plattformunabhängige Toolkits) - beides sind kleine schnelle Toolkits.

Sowohl WxWidgets als auch Fox und Fltk sind LGPL - also Lizenzmässig kein Problem, da kannst du wählen was du willst.

Um ein Toolkit wirst du wohl kaum herumkommen - auch wenn du nur einen Canvas brauchst.

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

oli_f
Beiträge: 272
Registriert: 24.10.2003 12:27:05

Beitrag von oli_f » 13.09.2004 13:13:53

danke für eure bemühungen :)

werde die toolkits einmal ausprobieren.

es ist mir egal ob das zeugs auf win portierbar ist, ich will eh umsteigen und die, die die arbeit abnehmen sollen entweder den quelltext lesen oder linux installieren :D

wichtig ist mir vorallem auch die syntax: ich hasse so makrosprachen die zwar für anfänger einfacher sind aber die ganze logische, schöne c++ syntax zerstören....

fltk scheint aber noch interessant zu sein, jedenfalls was den beschrieb und funktionsumfang anbelangt!
error - divided by 0

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 13.09.2004 20:53:42

oli_f hat geschrieben:es ist mir egal ob das zeugs auf win portierbar ist, ich will eh umsteigen und die, die die arbeit abnehmen sollen entweder den quelltext lesen oder linux installieren :D
Mutig! Leider bist du auf sie angewiesen, und nicht umgekehrt ;) Ein bisschen über den Tellerrand hinausschauen wird ihnen aber vielleicht ganz gut tun.
wichtig ist mir vorallem auch die syntax: ich hasse so makrosprachen die zwar für anfänger einfacher sind aber die ganze logische, schöne c++ syntax zerstören....
Stimmt:

Code: Alles auswählen

.def("MovementPhase", (void (System::*)() )&System::MovementPhase, (void (System_Wrapper::*)())&System_Wrapper::default_MovementPhase)
.def(init< System::StarType, int, const std::string&, double, double, optional< const std::set<int,std::less<int>,std::allocator<int> >& > >())
ist wirklich eine schöne Syntax :twisted:
Nicht zu vergessen die 2 Seiten Datenmüll, die ich im Moment als Warnung ausgegeben bekomme.
SCNR

Antworten