From de9b3714dc0e243a4be52c83fd876165b325bbe4 Mon Sep 17 00:00:00 2001 From: Nenad Rakocevic Date: Sun, 26 May 2024 21:03:21 +0200 Subject: [PATCH] FIX: issue #5507 (New fix for area does not work with WRAP) --- modules/view/backends/platform.red | 3 +++ modules/view/backends/windows/gui.reds | 27 ++++++++++++++------------ 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/modules/view/backends/platform.red b/modules/view/backends/platform.red index 8cded4c109..e98380f5a0 100644 --- a/modules/view/backends/platform.red +++ b/modules/view/backends/platform.red @@ -84,6 +84,7 @@ system/view/platform: context [ FACET_FLAGS_SCROLLABLE: 00040000h FACET_FLAGS_PASSWORD: 00080000h FACET_FLAGS_NO_SYNC: 00100000h + FACET_FLAGS_NO_AUTO_SB: 00200000h FACET_FLAGS_POPUP: 01000000h FACET_FLAGS_MODAL: 02000000h @@ -290,6 +291,7 @@ system/view/platform: context [ scrollable: symbol/make "scrollable" password: symbol/make "password" no-sync: symbol/make "no-sync" + no-auto-sb: symbol/make "no-auto-sb" _accelerated: symbol/make "accelerated" @@ -613,6 +615,7 @@ system/view/platform: context [ sym = scrollable [flags: flags or FACET_FLAGS_SCROLLABLE] sym = password [flags: flags or FACET_FLAGS_PASSWORD] sym = no-sync [flags: flags or FACET_FLAGS_NO_SYNC] + sym = no-auto-sb [flags: flags or FACET_FLAGS_NO_AUTO_SB] true [fire [TO_ERROR(script invalid-arg) word]] ] word: word + 1 diff --git a/modules/view/backends/windows/gui.reds b/modules/view/backends/windows/gui.reds index 7708b66371..d217def648 100644 --- a/modules/view/backends/windows/gui.reds +++ b/modules/view/backends/windows/gui.reds @@ -359,23 +359,23 @@ update-scrollbars: func [ hWnd [handle!] text [c-string!] ;utf16 encoded string or null /local - values [red-value!] - str [red-string!] - para [red-object!] - dc [handle!] - rect [RECT_STRUCT value] - horz? [logic!] - vert? [logic!] - size [integer!] - max-n [integer!] - start [c-string!] + values [red-value!] + str [red-string!] + para [red-object!] + dc [handle!] + rect [RECT_STRUCT value] + horz? [logic!] + vert? [logic!] + size [integer!] + max-n [integer!] + start [c-string!] txt-start [c-string!] txt-pos [c-string!] bool [red-logic!] wrap? [logic!] chars [integer!] - c1 c2 [byte!] - w h height width right bottom [integer!] + c1 c2 [byte!] + w h height width right bottom bits [integer!] ][ values: get-face-values hWnd str: as red-string! values + FACE_OBJ_TEXT @@ -383,6 +383,9 @@ update-scrollbars: func [ horz?: no vert?: no wrap?: no + + bits: get-flags as red-block! values + FACE_OBJ_FLAGS + if bits and FACET_FLAGS_NO_AUTO_SB <> 0 [exit] either TYPE_OF(str) = TYPE_STRING [ GetClientRect hWnd rect