Suchergebnisse

Suchergebnisse 1-20 von insgesamt 63.

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ich habe das Problem nun etwas weiter eingekreist und folgendes festgestellt: es gibt wohl einen Zusammenhang zwischen den Mouse Events und der Methode "setContentView". Wenn ich "setContentView" bei der Initialisierung des Windows aufrufe und das View dadurch zum ContentView mache, dann werden die Mouse Events durch die Window-Methoden "mouseDown", "mouseUp" und "mouseDragged" eingelesen. Aber dann wird der Fensterinhalt durch die View-Methode "drawRect" nur einmal gezeichnet. Wiederholte Aufru…

  • Ups, da war ich gestern Abend doch etwas zu vorschnell. Es hat in einem einfachen Beispiel funktioniert, tut aber doch nicht in meinem Project. Bezieht sich "setAcceptsMouseMovedEvents" denn nicht speziell auf die Bewegung der Maus und nicht auf MouseUp und MouseDragged Events?

  • P.S. allerdings kann ich mir das oben beschriebene Verhalten nicht erklären. Egal, wenn es nun tut.

  • Vielen Dank - ja, es scheint nun zu funktionieren!

  • Hallo, ich habe gerade ein Problem mit Events, das sich sicherlich leicht beheben lässt. Ich habe ein NSWindow und einen dazu gehörigen NSView. Wenn ich die Methoden mouseDown, mouseUp und mouseDragged in der Implementation des Windows verwenden will, um Mouse Events zu erhalten, dann funktioniert das nur für Mouse Down Events. Die anderen Methoden bleiben stumm. Wenn ich nun dieselben Methoden in der Implementation des Views verwende, dann kann ich alle drei Mouse Events erhalten. Wenn ich dann…

  • Zitat von longW: „Ib Deinem Fall denke ich, so:Quellcode (1 Zeile) CGAffineTransformIdentity ist eine Konstante und hat schon den richtigen Typ.“ Ja, das ist es!!! Ganz herzlichen Dank! Die Größe passt nun!

  • Sorry, da ist wieder etwas verrutscht. Mein TExt lautet korrekt so: Ich habe in drawRect zunächst den CGContext erzeugt mit: CGContextRef cgContext = [[NSGraphicsContext currentContext] graphicsPort]; und dann eben meine Funktionen fürs Zeichnen angefügt. Wenn ich CGContextSetTextMatrix anwenden will, dann muss ich als erste Variable diesen cgContext angeben, als zweite Variable eine Variable vom Typ CGAffineTransform. Was muss ich da eingeben, um die identity matrix zu bekommen? Oder muss ich d…

  • Zitat von longW: „Die Antwort steht schon da. Du musst in der Funktion nur Deinen Kontext richtig einsetzen. Ich habe nicht geschaut, wie die Variable bei Dir benannt ist.“ Ich habe in drawRect zunächst den CGContext erzeugt mit: CGContextRef cgContext = [[NSGraphicsContext currentContext] graphicsPort]; und dann eben meine Funktionen fürs Zeichnen angefügt. Typ CGAffineTransform Wenn ich CGContextSetTextMatrix anwenden will, dann muss ich als erste Variable diesen cgContext angeben, als zweite …

  • Ja, sorry, da ist irgendetwas beim Zitierten schiefgelaufen. Habe es erst bemerkt, als die Antwort schon abgeschickt war. Also die Frage war: kann mir jemand sagen, wie man diese identity matrix setzt?

  • Zitat von longW: „Zitat von gritsch: „Zitat von Rainer Bürck: „ Wenn ich also nicht explizit eine textmatrix gesetzt habe, dann müssten deren Koordinaten automatisch identisch sein mit den Koordinaten des "user space". “ Kann mir jemand sagen, wie ich diese identity matrix setzen kann? Gibt es da eine einfache Methode? IRGENDWO wird IRGENDWER das eben verändern. es kann aber auch ein bug sein (was ich weniger glaube). also einfach sicherheitshalber wieder die identity matrix setzen ;-)“ Das ist …

  • habe eben in der Reference nachgeschaut: "When you first create a graphics context, it initializes the text matrix to the identity matrix; thus text space coordinates are initially the same as user space coordinates." Wenn ich also nicht explizit eine textmatrix gesetzt habe, dann müssten deren Koordinaten automatisch identisch sein mit den Koordinaten des "user space".

  • Aha, hm....... zumindest habe ich nicht bewusst eine Textmatrix gesetzt. Wie könnte ich das gemacht haben? Danke für den Hinweis!

  • Ach so, Du meinst also, dass die Fontgröße auch von der Größe des drawRect abhängt? Das wäre ja der Hammer, denn die anderen Einheiten - etwa beim Zeichnen eines Quadrats, hängen nicht davon ab. Ich werde dem nachgehen. Inzwischen habe ich für das Zeichnen eines Fensters eine andere Lösung gefunden, indem ich einen CGContext mithilfe von NSGraphicsContext *currentNSGraphContext = [NSGraphicsContext graphicsContextWithWindow: self]; erzeuge; da geht das dann ohne Probleme. Da hatte ich allerdings…

  • Ja, das mit display habe ich auch versucht, aber es hat keinen Einfluss. Aber eben habe ich die Lösung gefunden. Am Ende der Funktion fügte ich hinzu: CGContextFlush (cgContext); und nun klappt es.

  • Hallo,Zitat von longW: „CGContextSelectFont verlangt die Größe "in text space units". Was das genau ist, weiss ich im Moment auch nicht.“ das findet man in der Quartz "D Reference auch nicht richtig erklärt. Ich habe allerdings diese "CGCSelectFont"-Routine schon oft angewendet, und der Text war immer in der korrekten Größe. Warum das nun so daneben ist, kann ich mir nicht erklären. Zitat von longW: „Hast Du gemerkt, dass 12 * 0.08 annähernd 1 ergibt?“ Ja, das ist mir natürlich auch aufgefallen!…

  • Ja, dann erscheint er an der richtigen Stelle. Ich verwende in meinen Fenstern Rechtecke zum Eingeben von Parametern; die erscheinen dann beim Faktor 0.08 an der richtigen Stelle. HAst Du eine Ahnung, wo das Problem liegt?

  • Hallo, ich übertrage derzeit einige ältere Programme, die ich mit Carbon gemacht habe, auf Cocoa. Dabei gibt es immer wider Probleme. Hier mein aktuelles. ich zeichne verschiedene Dinge in einen View eines Fensters. Wenn ich zum Beispiel ein Rechteck zeichne, dann erscheint das in der korrekten Größe; zeichne ich aber einen Text, dann erscheint der um ein Vielfaches zu groß. Ich rufe die "drawRect"-Methode des Views auf, die es im Beispiel des Kapitels "Graphices Context" des "Quartz 2D Programm…

  • danke, alles klar! Steht ja auch in Deinem Buch, nur so auf die Schnelle weiss man das nicht mehr und findet es dann auch nicht.

  • Hallo, geht es, dass zwei Objekte sich jeweils gegenseitig enthalten? Wenn ich folgenden Code schreibe: Quellcode (9 Zeilen) Quellcode (8 Zeilen) dann gibt es eine Fehlermeldung, da das Objekt Test_B erst nach dem Objekt Test_A definiert wird. In diesem Code kann Test_B das Objekt Test_A enthalten, aber nicht umgekehrt. Wie kann man das machen, wenn überhaupt?

  • das kann nicht an der Variablen liegen, und zwar deshalb: in der "drawWindowContents"-Methode wird zunächst die Funktion "post" aufgerufen, die eigentlich identisch ist mit der bekannten "print"-Funktion. Sie schickt den Wert der Variablen "value" an ein Kontrollfenster und zeigt ihn dort an. Wenn ich also eine Zahl über das MIDI-Interface eingebe, wird die "drawWindowContents"-Methode aufgerufen und der Wert der Variablen zunächst im Kontrollfenster angezeigt. Hier kann ich sehen, dass der Wert…