HIViews and Quickdraw

Ask a Question related to Mac Programming, Design and Development.

  1. #1

    Default HIViews and Quickdraw

    Hi,

    In order to support brush metal, I am adapting my Carbon Quickdraw framework
    to support compositing.

    Everything works fine for standard controls. In order to handle custom
    content, I have succesfully created a custom HIView, and added it to the
    content view of the window.

    The problem I have is when my custom control is called with
    kEventControlDraw, I cannot get a quickdraw port.

    I can get a valid CGContext using the following:

    err = ::GetEventParameter
    (inEvent,kEventParamCGContextRef,typeCGContextRef, 0,sizeof(gc),0,&gc);

    But when I call

    err = ::GetEventParameter
    (inEvent,kEventParamGrafPort,typeGrafPtr,0,sizeof( port),0,&port);

    I get a eventParameterNotFoundErr err.

    Am I doing something wrong ?
    Is this a known bug ?
    Is there a workaround ?

    I could not find any function to convert a CGContext to a grafport.

    I don't want to use Quartz because the framework needs to run on MacOS 9.

    AHWBA.

    Eric



    Eric VERGNAUD Guest

  2. Similar Questions and Discussions

    1. QuickDraw view bug?
      I have a customized QuickDraw view in my nib-based Obj-C Project. It is a background image that covers the entire main window. Intermittently only...
    2. QuickDraw MacGraw Style
      Disclaimer: I would have posted this on PVII Newsgroups, but I can't from work - plus someone here may learn from it. I have tried to duplicate...
  3. #2

    Default Re: HIViews and Quickdraw

    Eric VERGNAUD wrote:
    > Hi,
    >
    > In order to support brush metal, I am adapting my Carbon Quickdraw framework
    > to support compositing.
    >
    > Everything works fine for standard controls. In order to handle custom
    > content, I have succesfully created a custom HIView, and added it to the
    > content view of the window.
    >
    > The problem I have is when my custom control is called with
    > kEventControlDraw, I cannot get a quickdraw port.
    >
    > I can get a valid CGContext using the following:
    >
    > err = ::GetEventParameter
    > (inEvent,kEventParamCGContextRef,typeCGContextRef, 0,sizeof(gc),0,&gc);
    >
    > But when I call
    >
    > err = ::GetEventParameter
    > (inEvent,kEventParamGrafPort,typeGrafPtr,0,sizeof( port),0,&port);
    >
    > I get a eventParameterNotFoundErr err.
    >
    > Am I doing something wrong ?
    > Is this a known bug ?
    > Is there a workaround ?
    >
    Just read the documentation :
    from CarbonEvents.h :

    kEventControlDraw
    Required parameters:
    --> kEventParamDirectObject typeControlRef

    Optional parameters:
    --> kEventParamGrafPort typeGrafPtr
    (draw into the current port if kEventParamGrafPort
    is not present)


    arne

    Arne Scheffler Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139