change text building function in text-builder.sml to use the 'startX' and 'startY' fields added to the environment type
This commit is contained in:
@@ -102,7 +102,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX
|
, posX
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx
|
, absIdx
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -123,7 +122,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX + xSpace
|
, posX + xSpace
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -144,7 +142,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX + xSpace
|
, posX + xSpace
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -161,9 +158,8 @@ struct
|
|||||||
( pos + 1
|
( pos + 1
|
||||||
, str
|
, str
|
||||||
, acc
|
, acc
|
||||||
, startX
|
, #startX env
|
||||||
, posY + ySpace
|
, posY + ySpace
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -182,9 +178,8 @@ struct
|
|||||||
( pos + 1
|
( pos + 1
|
||||||
, str
|
, str
|
||||||
, acc
|
, acc
|
||||||
, startX
|
, #startX env
|
||||||
, posY + ySpace
|
, posY + ySpace
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -212,7 +207,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX + xSpace
|
, posX + xSpace
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -226,16 +220,15 @@ struct
|
|||||||
val {r, g, b, fw, fh, ...} = env
|
val {r, g, b, fw, fh, ...} = env
|
||||||
|
|
||||||
val chrVec = makeChr
|
val chrVec = makeChr
|
||||||
(chr, startX, posY + ySpace, fw, fh, r, g, b)
|
(chr, #startX env, posY + ySpace, fw, fh, r, g, b)
|
||||||
val acc = chrVec :: acc
|
val acc = chrVec :: acc
|
||||||
in
|
in
|
||||||
buildTextString
|
buildTextString
|
||||||
( pos + 1
|
( pos + 1
|
||||||
, str
|
, str
|
||||||
, acc
|
, acc
|
||||||
, startX + xSpace
|
, #startX env + xSpace
|
||||||
, posY + ySpace
|
, posY + ySpace
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -266,7 +259,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX + xSpace
|
, posX + xSpace
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -278,7 +270,7 @@ struct
|
|||||||
else if posY + ySpace < #h env then
|
else if posY + ySpace < #h env then
|
||||||
let
|
let
|
||||||
val chrVec = makeChr
|
val chrVec = makeChr
|
||||||
(chr, startX, posY + ySpace, fw, fh, hr, hg, hb)
|
(chr, #startX env, posY + ySpace, fw, fh, hr, hg, hb)
|
||||||
val acc = chrVec :: acc
|
val acc = chrVec :: acc
|
||||||
in
|
in
|
||||||
(* can start building after cursor now,
|
(* can start building after cursor now,
|
||||||
@@ -287,9 +279,8 @@ struct
|
|||||||
( pos + 1
|
( pos + 1
|
||||||
, str
|
, str
|
||||||
, acc
|
, acc
|
||||||
, startX + xSpace
|
, #startX env + xSpace
|
||||||
, posY + ySpace
|
, posY + ySpace
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -312,7 +303,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX
|
, posX
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx
|
, absIdx
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -344,7 +334,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX
|
, posX
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx
|
, absIdx
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -363,7 +352,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX
|
, posX
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx
|
, absIdx
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -384,7 +372,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX
|
, posX
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx
|
, absIdx
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -418,7 +405,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX + xSpace
|
, posX + xSpace
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -437,7 +423,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX + xSpace
|
, posX + xSpace
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -461,7 +446,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX + xSpace
|
, posX + xSpace
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -481,9 +465,8 @@ struct
|
|||||||
( pos + 1
|
( pos + 1
|
||||||
, str
|
, str
|
||||||
, acc
|
, acc
|
||||||
, startX
|
, #startX env
|
||||||
, posY + ySpace
|
, posY + ySpace
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -505,9 +488,8 @@ struct
|
|||||||
( pos + 1
|
( pos + 1
|
||||||
, str
|
, str
|
||||||
, acc
|
, acc
|
||||||
, startX
|
, #startX env
|
||||||
, posY + ySpace
|
, posY + ySpace
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -555,7 +537,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX + xSpace
|
, posX + xSpace
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -580,7 +561,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX + xSpace
|
, posX + xSpace
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -597,16 +577,15 @@ struct
|
|||||||
val {fw, fh, r, g, b, ...} = env
|
val {fw, fh, r, g, b, ...} = env
|
||||||
|
|
||||||
val chrVec = makeChr
|
val chrVec = makeChr
|
||||||
(chr, startX, posY + ySpace, fw, fh, r, g, b)
|
(chr, #startX env, posY + ySpace, fw, fh, r, g, b)
|
||||||
val acc = chrVec :: acc
|
val acc = chrVec :: acc
|
||||||
in
|
in
|
||||||
buildTextStringSearch
|
buildTextStringSearch
|
||||||
( pos + 1
|
( pos + 1
|
||||||
, str
|
, str
|
||||||
, acc
|
, acc
|
||||||
, startX + xSpace
|
, #startX env + xSpace
|
||||||
, posY + ySpace
|
, posY + ySpace
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -640,7 +619,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX + xSpace
|
, posX + xSpace
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -655,7 +633,7 @@ struct
|
|||||||
else if posY + ySpace < #h env then
|
else if posY + ySpace < #h env then
|
||||||
let
|
let
|
||||||
val chrVec = makeChr
|
val chrVec = makeChr
|
||||||
(chr, startX, posY + ySpace, fw, fh, hr, hg, hb)
|
(chr, #startX env, posY + ySpace, fw, fh, hr, hg, hb)
|
||||||
val acc = chrVec :: acc
|
val acc = chrVec :: acc
|
||||||
in
|
in
|
||||||
(* can start building after cursor now,
|
(* can start building after cursor now,
|
||||||
@@ -664,9 +642,8 @@ struct
|
|||||||
( pos + 1
|
( pos + 1
|
||||||
, str
|
, str
|
||||||
, acc
|
, acc
|
||||||
, startX + xSpace
|
, #startX env + xSpace
|
||||||
, posY + ySpace
|
, posY + ySpace
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx + 1
|
, absIdx + 1
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -692,7 +669,6 @@ struct
|
|||||||
, acc
|
, acc
|
||||||
, posX
|
, posX
|
||||||
, posY
|
, posY
|
||||||
, startX
|
|
||||||
, tl
|
, tl
|
||||||
, absIdx
|
, absIdx
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -739,33 +715,14 @@ struct
|
|||||||
end
|
end
|
||||||
|
|
||||||
fun initEnv (windowWidth, windowHeight, msgs) =
|
fun initEnv (windowWidth, windowHeight, msgs) =
|
||||||
let
|
let
|
||||||
val fw = Real32.fromInt windowWidth
|
val fw = Real32.fromInt windowWidth
|
||||||
val fh = Real32.fromInt windowHeight
|
val fh = Real32.fromInt windowHeight
|
||||||
in
|
in
|
||||||
if TC.textLineWidth > windowWidth then
|
if TC.textLineWidth > windowWidth then
|
||||||
{ w = windowWidth
|
{ w = windowWidth
|
||||||
, h = windowHeight
|
|
||||||
, startX = 5
|
|
||||||
, startY = 5
|
|
||||||
, fw = fw
|
|
||||||
, fh = fh
|
|
||||||
, r = 0.67
|
|
||||||
, g = 0.51
|
|
||||||
, b = 0.83
|
|
||||||
, hr = 0.211
|
|
||||||
, hg = 0.219
|
|
||||||
, hb = 0.25
|
|
||||||
, msgs = msgs
|
|
||||||
}
|
|
||||||
else
|
|
||||||
let
|
|
||||||
val startX = (windowWidth - TC.textLineWidth) div 2
|
|
||||||
val finishWidth = startX + TC.textLineWidth
|
|
||||||
in
|
|
||||||
{ w = finishWidth
|
|
||||||
, h = windowHeight
|
, h = windowHeight
|
||||||
, startX = startX
|
, startX = 5
|
||||||
, startY = 5
|
, startY = 5
|
||||||
, fw = fw
|
, fw = fw
|
||||||
, fh = fh
|
, fh = fh
|
||||||
@@ -777,8 +734,27 @@ struct
|
|||||||
, hb = 0.25
|
, hb = 0.25
|
||||||
, msgs = msgs
|
, msgs = msgs
|
||||||
}
|
}
|
||||||
end
|
else
|
||||||
end
|
let
|
||||||
|
val startX = (windowWidth - TC.textLineWidth) div 2
|
||||||
|
val finishWidth = startX + TC.textLineWidth
|
||||||
|
in
|
||||||
|
{ w = finishWidth
|
||||||
|
, h = windowHeight
|
||||||
|
, startX = startX
|
||||||
|
, startY = 5
|
||||||
|
, fw = fw
|
||||||
|
, fh = fh
|
||||||
|
, r = 0.67
|
||||||
|
, g = 0.51
|
||||||
|
, b = 0.83
|
||||||
|
, hr = 0.211
|
||||||
|
, hg = 0.219
|
||||||
|
, hb = 0.25
|
||||||
|
, msgs = msgs
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
fun build
|
fun build
|
||||||
( startLine
|
( startLine
|
||||||
@@ -815,7 +791,6 @@ struct
|
|||||||
, []
|
, []
|
||||||
, startX
|
, startX
|
||||||
, startY
|
, startY
|
||||||
, startX
|
|
||||||
, rStrTl
|
, rStrTl
|
||||||
, absIdx
|
, absIdx
|
||||||
, cursorPos
|
, cursorPos
|
||||||
@@ -833,7 +808,6 @@ struct
|
|||||||
, []
|
, []
|
||||||
, startX
|
, startX
|
||||||
, startY
|
, startY
|
||||||
, startX
|
|
||||||
, rStrTl
|
, rStrTl
|
||||||
, absIdx
|
, absIdx
|
||||||
, cursorPos
|
, cursorPos
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ struct
|
|||||||
let
|
let
|
||||||
val buffer = #buffer app
|
val buffer = #buffer app
|
||||||
val buffer = LineGap.goToStart buffer
|
val buffer = LineGap.goToStart buffer
|
||||||
val searchString = "abc"
|
val searchString = "val "
|
||||||
val searchList = SearchList.build (buffer, searchString)
|
val searchList = SearchList.build (buffer, searchString)
|
||||||
val buffer = LineGap.goToStart buffer
|
val buffer = LineGap.goToStart buffer
|
||||||
in
|
in
|
||||||
|
|||||||
Reference in New Issue
Block a user