[Contents] [Index] [Help] [Retrace] [Browse <] [Browse >]


    NAME
        DoHookClipRects - Do the given hook for each of the ClipRects    (V39)

    SYNOPSIS
        DoHookClipRects(hook,rport,rect)
                        a0   a1    a2

        void DoHookClipRects(struct hook *,struct rastport *,struct rectangle *);

    FUNCTION
        This function will call the given hook for each cliprect in the
        layer that can be rendered into.  This is how the backfill hook
        in Layers is implemented.  This means that hidden simple-refresh
        cliprects will be ignored.  It will call the SuperBitMap cliprects,
        smart refresh off-screen cliprects, and all on screen cliprects.
        If the rect parameter is not NULL, the cliprects are bounded to
        the rectangle given.

    INPUTS
        hook - pointer to layer callback hook which will be called
               with object == (struct rastport *) result->rastport
               and message == [ (Layer *) layer, (struct Rectangle) bounds,
                                (LONG) offsetx, (LONG) offsety ]

               This hook should fill the rectangle in the rastport
               with the BackFill pattern appropriate for offset x/y.

               If hook is LAYERS_BACKFILL, the default backfill is
               used for the layer.

               If hook is LAYERS_NOBACKFILL, the layer will not be
               backfilled (NO-OP).

        rport- A pointer to the rastport that is to be operated on.
               This function will lock the layer if the rastport is
               layered...
               If the rport is non-layered your hook will be called with
               the rectangle as passed, the rastport, and a null layer...

        rect - The bounding rectangle that should be used on the layer.
               This rectangle "clips" the cliprects to the bound given.
               If this is NULL, no bounding will take place.
               *MUST* not be NULL if the rastport is non-layered!

    NOTES
        The rastport you are passed back is the same one passed to the
        function.  You should *not* use "layered" rendering functions
        on this rastport.  generally, you will wish to do bitmap operations
        such as bltbitmap().  the callback is a raw, low-level rendering
        call-back.  If you need to call a rendering operation with a
        rastport, make sure you use a copy of the rastport and null the
        layer pointer.

    SEE ALSO
        graphics/clip.h utility/hooks.h