From a7806a4cd61e8125b9ce095515418e84f34256c1 Mon Sep 17 00:00:00 2001

From: =?UTF-8?q?Jaakko=20Ker=C3=A4nen?= jaakko.keranen@iki.fi

Date: Sat, 12 Sep 2020 23:22:19 +0300

Subject: [PATCH 1/1] Cleanup


src/ui/documentwidget.c | 172 ++++++++++++----------------------------

src/ui/listwidget.c | 51 ++----------

2 files changed, 56 insertions(+), 167 deletions(-)

diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c

index 2dd50e5b..9b6ad509 100644

--- a/src/ui/documentwidget.c

+++ b/src/ui/documentwidget.c

@@ -128,42 +128,6 @@ void deserialize_Model(iModel *d, iStream *ins) {

iDefineTypeConstruction(Model)

-#if 0

-/----------------------------------------------------------------------------------------------/

-iDeclareType(VisBuffer)

-iDeclareTypeConstruction(VisBuffer)

-struct Impl_VisBuffer {

-};

-void init_VisBuffer(iVisBuffer *d) {

-}

-void deinit_VisBuffer(iVisBuffer *d) {

-}

-void dealloc_VisBuffer(iVisBuffer *d) {

-}

-iDefineTypeConstruction(VisBuffer)

-#endif

/----------------------------------------------------------------------------------------------/

static const int smoothSpeed_DocumentWidget_ = 120; /* unit: gap_Text per second */

@@ -313,16 +277,6 @@ static int forceBreakWidth_DocumentWidget_(const iDocumentWidget *d) {

 return 0;

}

-iLocalDef int documentToWindowY_DocumentWidget_(const iDocumentWidget *d, int docY) {

-}

-#if 0

-iLocalDef int windowToDocumentY_DocumentWidget_(const iDocumentWidget *d, int localY) {

-}

-#endif

static iInt2 documentPos_DocumentWidget_(const iDocumentWidget *d, iInt2 pos) {

 return addY_I2(sub_I2(pos, topLeft_Rect(documentBounds_DocumentWidget_(d))), d->scrollY);

}

@@ -1585,15 +1539,7 @@ static iBool processEvent_DocumentWidget_(iDocumentWidget *d, const SDL_Event *e

iDeclareType(DrawContext)

-#if 0

-enum iDrawRunPass {

-};

-#endif

struct Impl_DrawContext {

-// enum iDrawRunPass pass;

 const iDocumentWidget *widget;

 iRect widgetBounds;

 iInt2 viewPos; /* document area origin */

@@ -1644,35 +1590,21 @@ static void drawRun_DrawContext_(void *context, const iGmRun *run) {

 iDrawContext *d      = context;

 const iInt2   origin = d->viewPos;

 if (run->imageId) {

     }

     return;

 }

 enum iColorId      fg  = run->color;

 const iGmDocument *doc = d->widget->doc;

-// const iBool isDynamic = (run->linkId && ~run->flags & decoration_GmRunFlag);

-// if (isDynamic ^ (d->pass == dynamic_DrawRunPass)) {

-// return;

-// }

     (run->linkId && d->widget->hoverLink && run->linkId == d->widget->hoverLink->linkId &&

      ~run->flags & decoration_GmRunFlag);

 const iInt2 visPos = add_I2(run->visBounds.pos, origin);

-// init_I2(run->linkId && ~run->flags & decoration_GmRunFlag

-// ? d->widgetBounds.size.x - visPos.x :

 if (run->linkId && ~run->flags & decoration_GmRunFlag) {

     fg = linkColor_GmDocument(doc, run->linkId, isHover ? textHover_GmLinkPart : text_GmLinkPart);

     if (linkFlags_GmDocument(doc, run->linkId) & content_GmLinkFlag) {

@@ -1680,42 +1612,40 @@ static void drawRun_DrawContext_(void *context, const iGmRun *run) {

     }

 }

 if (run->flags & siteBanner_GmRunFlag) {

-// appendChar_String(&bannerText, 0x2b24); // icon);

-// const iRect iconRect = visualBounds_Text(hugeBold_FontId, range_String(&bannerText));

-// drawRange_Text(hugeBold_FontId, /run->font,/

-// addY_I2(bpos, -mid_Rect(iconRect).y + lineHeight_Text(run->font) / 2),

-// tmBannerIcon_ColorId,

-// range_String(&bannerText));

-// clear_String(&bannerText);

+// appendChar_String(&bannerText, 0x2b24); // icon);

+// const iRect iconRect = visualBounds_Text(hugeBold_FontId, range_String(&bannerText));

+// drawRange_Text(hugeBold_FontId, /run->font,/

+// addY_I2(bpos, -mid_Rect(iconRect).y + lineHeight_Text(run->font) / 2),

+// tmBannerIcon_ColorId,

+// range_String(&bannerText));

+// clear_String(&bannerText);

 }

 else {

     if (d->showLinkNumbers && run->linkId && run->flags & decoration_GmRunFlag) {

@@ -1734,7 +1664,7 @@ static void drawRun_DrawContext_(void *context, const iGmRun *run) {

 runDrawn:;

 }

 /* Presentation of links. */

     const int metaFont = paragraph_FontId;

     /* TODO: Show status of an ongoing media request. */

     const int flags = linkFlags_GmDocument(doc, run->linkId);

@@ -1908,6 +1838,15 @@ static void draw_DocumentWidget_(const iDocumentWidget *d) {

 setClip_Paint(&ctx.paint, bounds);

 const int yTop = docBounds.pos.y - d->scrollY;

 draw_VisBuf(visBuf, init_I2(bounds.pos.x, yTop));

 unsetClip_Paint(&ctx.paint);

 /* Fill the top and bottom, in case the document is short. */

 if (yTop > top_Rect(bounds)) {

@@ -1922,15 +1861,6 @@ static void draw_DocumentWidget_(const iDocumentWidget *d) {

                    init_Rect(bounds.pos.x, yBottom, bounds.size.x, bottom_Rect(bounds) - yBottom),

                    tmBackground_ColorId);

 }

 draw_Widget(w);

}

diff --git a/src/ui/listwidget.c b/src/ui/listwidget.c

index b10bf8c3..fb328c2f 100644

--- a/src/ui/listwidget.c

+++ b/src/ui/listwidget.c

@@ -302,31 +302,6 @@ static iBool processEvent_ListWidget_(iListWidget *d, const SDL_Event *ev) {

 return processEvent_Widget(w, ev);

}

-#if 0

-static void allocVisBuffer_ListWidget_(iListWidget *d) {

-// const iRect inner = innerBounds_Widget(as_Widget(d));

-}

-#endif

static void drawItem_ListWidget_(const iListWidget *d, iPaint *p, size_t index, iInt2 pos) {

 const iWidget *  w         = constAs_Widget(d);

 const iRect      bounds    = innerBounds_Widget(w);

@@ -340,15 +315,14 @@ static const iListItem *item_ListWidget_(const iListWidget *d, size_t pos) {

}

static void draw_ListWidget_(const iListWidget *d) {

 if (!bounds.size.y || !bounds.size.x || !d->itemHeight) {

     return;

 }

 iPaint p;

 init_Paint(&p);

 drawBackground_Widget(w);

-// iListWidget *m = iConstCast(iListWidget *, d);

 alloc_VisBuf(d->visBuf, bounds.size, d->itemHeight);

 /* Update invalid regions/items. */ {

     /* TODO: This seems to draw two items per each shift of the visible region, even though

@@ -362,19 +336,15 @@ static void draw_ListWidget_(const iListWidget *d) {

     const int bottom = numItems_ListWidget(d) * d->itemHeight;

     const iRangei vis = { d->scrollY / d->itemHeight * d->itemHeight,

                          ((d->scrollY + bounds.size.y) / d->itemHeight + 1) * d->itemHeight };

-// printf("visBufSize.y = %d\n", d->visBufSize.y);

     reposition_VisBuf(d->visBuf, vis);

     /* Check which parts are invalid. */

     iRangei invalidRange[3];

     invalidRanges_VisBuf(d->visBuf, (iRangei){ 0, bottom }, invalidRange);

     iForIndices(i, d->visBuf->buffers) {

         iVisBufTexture *buf = &d->visBuf->buffers[i];

-// printf("%zu: orig %d, invalid %d ... %d\n", i, buf->origin, invalidRange[i].start, invalidRange[i].end);

         iRanges drawItems = { iMax(0, buf->origin) / d->itemHeight,

                               iMax(0, buf->origin + d->visBuf->texSize.y) / d->itemHeight };

         if (isEmpty_Rangei(buf->validRange)) {

             beginTarget_Paint(&p, buf->texture);

             fillRect_Paint(&p, (iRect){ zero_I2(), d->visBuf->texSize }, bg[i]);

         }

@@ -384,21 +354,14 @@ static void draw_ListWidget_(const iListWidget *d) {

                 const iListItem *item = constAt_PtrArray(&d->items, index);

                 const iRect      itemRect = { init_I2(0, index * d->itemHeight - buf->origin),

                                               init_I2(d->visBuf->texSize.x, d->itemHeight) };

                 fillRect_Paint(&p, itemRect, bg[i]);

                 class_ListItem(item)->draw(item, &p, itemRect, d);

-// printf("- drawing invalid item %zu\n", index);

             }

         }

         /* Visible range is not fully covered. Fill in the new items. */

         if (!isEmpty_Rangei(invalidRange[i])) {

             drawItems.start = invalidRange[i].start / d->itemHeight;

             drawItems.end   = invalidRange[i].end   / d->itemHeight + 1;

             for (size_t j = drawItems.start; j < drawItems.end && j < size_PtrArray(&d->items); j++) {

@@ -407,13 +370,9 @@ static void draw_ListWidget_(const iListWidget *d) {

                                               init_I2(d->visBuf->texSize.x, d->itemHeight) };

                 fillRect_Paint(&p, itemRect, bg[i]);

                 class_ListItem(item)->draw(item, &p, itemRect, d);

-// printf("- drawing item %zu\n", j);

             }

         }

-// fflush(stdout);

     }

     validate_VisBuf(d->visBuf);

     clear_IntSet(&iConstCast(iListWidget *, d)->invalidItems);

--

2.25.1

Proxy Information
Original URL
gemini://git.skyjake.fi/lagrange/work%2Fv1.10/patch/a7806a4cd61e8125b9ce095515418e84f34256c1.patch
Status Code
Success (20)
Meta
text/plain
Capsule Response Time
70.961168 milliseconds
Gemini-to-HTML Time
15.773508 milliseconds

This content has been proxied by September (3851b).