ENGLISH VERSION |
|
Links | | | Forum | | | Kommentare | | | News melden |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
amiga-news.de Forum > Programmierung > Abfrage ob Screen >8bit | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
07.08.2002, 09:35 Uhr tokai Posts: 1071 Nutzer |
Hallo, sicherlich dumme Frage, aber wie kann ich abfragen ob die Workbenchscreentiefe grösser als 8bit ist? struct Screen *testscr = LockPubScreen("Workbench"); und dann? Die Screenstruktur an sich liefert keinen Depth- Wert zurück. Ich muss sicherlich über die VisualInfo gehen... aber wo? Sicherlich könnte ich das auch selbst herausfinden, aber ich verzettle mich immer in den AmigaGUIDE RKRMs Thanks for help! tokai [ - Antworten - Zitieren - Direktlink - ] |
07.08.2002, 10:48 Uhr gni Posts: 1106 Nutzer |
@tokai: >wie kann ich abfragen ob die Workbenchscreentiefe grösser als 8bit ist? if (V39) GetBitMapAttr(scr->RastPort.BitMap,BMA_DEPTH); else scr->RastPort.BitMap->Depth [ - Antworten - Zitieren - Direktlink - ] |
07.08.2002, 11:24 Uhr thomas Posts: 7718 Nutzer |
Du meinst natürlich "V39 oder höher". Gruß Thomas -- Email: thomas-rapp@web.de Home: home.t-online.de/home/thomas-rapp/ [ - Antworten - Zitieren - Direktlink - ] |
07.08.2002, 11:52 Uhr gni Posts: 1106 Nutzer |
@thomas: > Du meinst natürlich "V39 oder höher". int V39 = (SysBase->LibNode.lib_Version >= 39); [ - Antworten - Zitieren - Direktlink - ] |
07.08.2002, 12:18 Uhr tokai Posts: 1071 Nutzer |
oh... über die Bitmap... auf die Idee bin ich dummerweise nicht gekommen... dabei ist das so naheliegend. Das hilft weiter! Danke! :) [ - Antworten - Zitieren - Direktlink - ] |
07.08.2002, 13:44 Uhr DariusBrewka Posts: 899 [Benutzer gesperrt] |
Ich weiss nicht, ob dass wirklich über die BitMap struktur geht??, ich dachte ich hätte das einmal ausgetestet und maximal 8 erhalten, aber eine vierfach breitere BitMap. Ich denke man sollte schon zu GetBitmapAttr() greifen. gruss [ - Antworten - Zitieren - Direktlink - ] |
07.08.2002, 15:23 Uhr tokai Posts: 1071 Nutzer |
Zitat: hätte ich sowieso gemacht.... Programm soll eh' erst ab 3.x laufen. bye, tokai. [ - Antworten - Zitieren - Direktlink - ] |
07.08.2002, 17:04 Uhr AchimStegemann Posts: 112 Nutzer |
[quote] Original von tokai: Zitat: Aber auschließlich!!;) Seit OS 3.1 ist es eh verboten (!) Bitmap-Parameter direkt aus der Bitmap-Struktur zu lesen, weil viele Grafikkarten die Bitmap-Struktur in veränderter Form verwalten. Die alten OCS/ECS-Zeiten sind halt vorbei Gruß Achim [ - Antworten - Zitieren - Direktlink - ] |
08.08.2002, 08:42 Uhr tokai Posts: 1071 Nutzer |
Ich habe es gestern abend ausprobiert. Die BitMap-Struktur liefert maximal 8 zurück, von daher ist dieser Weg eh' zwecklos. Dumm wäre nur gewesen, wenn man das nicht gemerkt hätte und das wie folgt abfragen würde: if(screendepth<15bit) { Exit(); } bye, tokai [ - Antworten - Zitieren - Direktlink - ] |
08.08.2002, 09:29 Uhr thomas Posts: 7718 Nutzer |
Du weißt, daß du Exit() niemals benutzen darfst (außer vielleicht in Assembler) ? Exit() springt sofort ins DOS zurück, ohne Resourcen freizugeben, die von der C-Runtime allokiert wurden (Libraries, Speicher für argv[], etc.). Nimm lieber exit(), das ist dafür gedacht. Gruß Thomas -- Email: thomas-rapp@web.de Home: home.t-online.de/home/thomas-rapp/ [ - Antworten - Zitieren - Direktlink - ] |
08.08.2002, 10:30 Uhr tokai Posts: 1071 Nutzer |
Zitat: Im Beispiel wollte ich nur die Programmbeendigung an sich verdeutlichen... im Normalfall beenden sich meine Programme immer mit einem return(RETURN_OK); in main(). trotzdem danke für den Tipp! Da fällt mir gleich noch eine Frage ein: Unter welchen Umständen verwendet man die Fehlercodes: RETURN_WARN (5), RETURN_ERROR (10) oder RETURN_FAIL (20). Auf der Developer-CD habe ich dafür noch keine Erläuterung gefunden. Ich verwende das immer ca. folgendermassen (sehr vereinfacht) : if(!sehr wichtig) /* z.B. Intuition o.a. Libraries */ RETURN_FAIL; if(!wichtig) /* z.B. Fensteröffnen etc. */ RETURN_ERROR; if(!weniger wichtig) /* z.B. file mit bitmapdaten nicht gefunden o.ä. */ RETURN_WARN; code... RETURN_OK; bye, tokai [ - Antworten - Zitieren - Direktlink - ] |
08.08.2002, 11:47 Uhr thomas Posts: 7718 Nutzer |
Das müßte im AmigaDOS-Manual stehen, denn das interressiert die "normalen Benutzer" auch (für Shell-Skripte). Für die meisten Programme reicht 0 = hat geklappt, 20 = hat nicht geklappt (bricht das Skript ab). 5 ist für IF-Verzweigungen in Skripten (z.B. Datei für Delete existiert nicht oder "Version exec.library 40" und OS ist älter als 3.1). Wofür 10 ist, weiß ich nicht auswendig. Gruß Thomas -- Email: thomas-rapp@web.de Home: home.t-online.de/home/thomas-rapp/ [ - Antworten - Zitieren - Direktlink - ] |
08.08.2002, 12:29 Uhr tokai Posts: 1071 Nutzer |
Stimmt. Daran hatte ich gar nicht gedacht. [ - Antworten - Zitieren - Direktlink - ] |
11.08.2002, 20:39 Uhr Holger Posts: 8116 Nutzer |
Zitat:Da Du die BitMap-Struktur nur in Versionen vor OS3.x direkt auslesen darfst, Grafikkarten-Treiber mit BitMap-Tiefen >8 aber OS3.x vorraussetzen, gibt es eigentlich überhaupt kein Problem. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > Abfrage ob Screen >8bit | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten. |