Name
hw_RawLine -- draw line to pixel buffer (V6.0)
Synopsis
void hw_RawLine(APTR dst, int x1, int y1, int x2, int y2, ULONG color,
         ULONG flags, struct hwTagList *tags);
Function
This function can be used to draw a line to a raw pixel buffer. Note that this function does not draw to a Hollywood bitmap, but to a raw pixel buffer only. This makes it possible to use hw_RawLine() in lots of different contexts. If you want to use hw_RawLine() on a Hollywood bitmap, you need to lock the bitmap first using hw_LockBitMap() and then pass the raw pixel buffer pointer obtained by hw_LockBitMap() to hw_RawLine().

The following tags are recognized by hw_RawLine():

HWRLITAG_PIXFMT:
This tag can be used to set the pixel format hw_RawLine() should use when drawing into the pixel buffer. You have to pass a pixel format constant in the iData member of this tag. See Pixel format information for details. This tag defaults to HWOS_PIXFMT_ARGB32.

HWRLITAG_DSTWIDTH:
This tag must be specified. You have to pass the number of pixels per row in the destination buffer in the iData member of this tag. If you don't pass this tag, hw_RawLine() won't work.

HWRLITAG_CLIPRECT:
This tag can be used to make hw_RawLine() clip its output to the specified clipping rectangle. If you pass this tag, you must set the pData member of the tag to a struct hwRect containing the desired clipping rectangle. Note that by default there is no clipping at all, so you must make sure that the destination raw pixel buffer is large enough. (V8.0)

Additionally, hw_RawLine() supports the following flags:

HWRLIFLAGS_BLEND:
If this flag is set, then hw_RawLine() will draw a line with alpha-blending to the destination pixel buffer. The blend intensity is taken from the upper 8 bits in the color parameter that you've passed to hw_RawLine(). If this flag is not set, then hw_RawLine() will just draw with a static color.

Note that by default this function does not do any clipping. You must make sure that the destination raw pixel buffer is large enough or use the HWRLITAG_CLIPRECT tag to set a clipping rectangle.

Designer compatibility
Unsupported

Inputs
dst
pointer to destination raw pixel buffer
x1
start x offset for the line
y1
start y offset for the line
x2
end x offset for the line
y2
end y offset for the line
color
ARGB color to use; the A component is only used if HWRLIFLAGS_BLEND has been set
flags
additional drawing flags (see above)
tags
additional drawing tags (see above)

Show TOC