• Es gibt auf GitHub weder in der C-, noch in der ASM-Variante der Include-Datei ein „GrSetPath“, sondern nur ein „GrGetPath“.


    In der Doku auf GitHub folgt zudem in den Routinen auf „GrSetPaletteEntry“ gleich „GrSetPrivateData“.

    Kann es sein, dass es gar kein „GrSetPath“ gibt?

    There are two rules in life:
    1. Never give out all of the information.

    Edited once, last by jpolzfuss (October 31, 2024 at 10:11 PM).

  • Ist die Funktion vielleicht umbenannt worden? Mögliche Kandidaten:


    extern void /*XXX*/
    _pascal GrSetClipPath(GStateHandle gstate, PathCombineType params, RegionFillRule rule);

    extern void /*XXX*/
    _pascal GrSetWinClipPath(GStateHandle gstate, PathCombineType params, RegionFillRule rule);

    extern void /*XXX*/
    _pascal GrSetStrokePath(GStateHandle gstate);

    There are two rules in life:
    1. Never give out all of the information.

  • In 'meiner' Doku steht in CREF.pdf:

    GrSetPath()
    void GrSetPath(
    GStateHandle gstate, /* subject GState */
    MemHandle pathGString); /* handle of path’s block */
    Takes the passed GState’s path with the path encoded in the block with the
    passed handle. To get such a handle, call GrGetPath()
    Include: graphics.h

    Aber Fakt ist, dass es diesen Befehl in graphics.h nicht gibt. Schade, ich hatte mir erhofft, dort die Punkte für den Pfad eingeben zu können.

  • Ich habe mal online im Nokia SDK nachgeschaut (auf Archive.org). Dort steht zwar auch der Befehl in der Doku, aber nicht in den Include-Dateien (weder C, noch ASM). Ich habe auch kein „define“ oder so gefunden, das GrSetPath auf einen anderen Befehl mappt…

    There are two rules in life:
    1. Never give out all of the information.

  • Nur ein paar unausgegorene Gedanken. Wo ich anfangen würde zu suchen ist GrCreatePath. das wird oftmals verwendet im Repo. Auf den allerersten Blick scheint es so, als erzeugt man einen Pfad in eine gstate, der dann den Zeichenbereich für die "echten" Zeichenoperationen. einschränkt. Also man zeichnet z.B. eine Ellipse und ein Rechteck, die sich nicht überlappen müssen. Evtl muss man die Dinge noch "füllen". Nach GrEndPath ist das der Bereich in dem die folgenden Grafikausgaben noch wirken. So stelle ich mir "Innen einfügen" vor.

    Das wäre also meine Arbeitshypothese "Null" - die man jetzt verifiziren oder verwerfen muss.

    Außerdem würde ich persönlich die Doku wälzen und versuchen zu verstehen, was der Unterschied zwischen Pfad und Region ist...

    Soweit meine unausgegorenen Gedanken dazu. jpolzfuss Dass Routinen umbenannt worden sind, halte ich für extrem unwahrscheinlich.

    Rainer

    P.S. Wenn das so stimmt, würde GrSetPath() einen GString nehmen und daraus den Path für das gstate machen. Das wäre für mich konsistent. Dassie imrepo nicht vorkommt könnte heißen, dass sie geplant, aber nie realisiert wurde. falls (!) ich richtig liege würde dann GrBeginPat() - GrDrawGString() - GrEndPath() genau diese Funktionalität liefern. - oder ich liege eben ganz falsch :)

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.