It appears that such kind of function was missing from the lib.
It will be required for upcoming wmiv image viewer tool.

diff --git a/wrlib/draw.c b/wrlib/draw.c
index 350837c..aa8588d 100644
--- a/wrlib/draw.c
+++ b/wrlib/draw.c
@@ -463,6 +463,13 @@ void ROperateLines(RImage * image, int operation,
const RPoint * points, int npo
  genericLine(image, x1, y1, x2, y2, color, operation, i);
 }

+void ROperateRectangle(RImage * image, int operation, int x0, int y0,
int x1, int y1, const RColor * color)
+{
+ for (int y=y0; y<=y1; y++) {
+ genericLine(image, x0, y, x1, y, color, operation, False);
+ }
+}
+
 void RDrawSegments(RImage * image, const RSegment * segs, int nsegs,
const RColor * color)
 {
  register int i;
diff --git a/wrlib/libwraster.map b/wrlib/libwraster.map
index 422af75..ffa64a7 100644
--- a/wrlib/libwraster.map
+++ b/wrlib/libwraster.map
@@ -41,6 +41,7 @@ LIBWRASTER3
     RDestroyXImage;
     RDrawLine;
     RDrawLines;
+    ROperateRectangle;
     RDrawSegments;
     RErrorCode;
     RFillImage;
diff --git a/wrlib/wraster.h b/wrlib/wraster.h
index 88f3a72..2003869 100644
--- a/wrlib/wraster.h
+++ b/wrlib/wraster.h
@@ -403,6 +403,8 @@ void RDrawLines(RImage *image, const RPoint
*points, int npoints, int mode,
 void ROperateLines(RImage *image, int operation, const RPoint
*points, int npoints,
                    int mode, const RColor *color);

+void ROperateRectangle(RImage *image, int operation, int x0, int y0,
int x1, int y1, const RColor *color);
+
 void RDrawSegments(RImage *image, const RSegment *segs, int nsegs,
const RColor *color);

 void ROperateSegments(RImage *image, int operation, const RSegment
*segs, int nsegs,
-- 
1.8.3.2

Attachment: 0001-wrlib-add-a-function-to-draw-rectangles.patch
Description: Binary data

Reply via email to