{
int textPos = startTextPos;
Block block = startBlock;
- bool lineComplete = false;
int startSel, endSel;
Block startSelBlock = null, endSelBlock = null;
+ int prevGlyph = 0;
if(browser.textBlock != browser.selBlock || browser.curPosition != browser.selPosition)
browser.NormalizeSelection(&startSelBlock, &startSel, &endSelBlock, &endSel);
int l = startSel - textPos;
if(block.text)
{
- surface.TextExtent(block.text + textPos, l, &tw, &th);
+ surface.TextExtent2(block.text + textPos, l, &tw, &th, prevGlyph, &prevGlyph, null);
surface.WriteText(x, y + h - th, block.text + textPos, l);
x += tw;
}
surface.foreground = white;
surface.textOpacity = true;
}
- surface.TextExtent(block.text + textPos, len, &tw, &th);
+ surface.TextExtent2(block.text + textPos, len, &tw, &th, prevGlyph, &prevGlyph, null);
surface.WriteText(x, y + h - th, block.text + textPos, len);
x += tw;
if(browser.isSelected)
int l = endPos - textPos;
if(block.text)
{
- surface.TextExtent(block.text + textPos, l, &tw, &th);
+ surface.TextExtent2(block.text + textPos, l, &tw, &th, prevGlyph, &prevGlyph, null);
surface.WriteText(x, y + h - th, block.text + textPos, l);
x += tw;
}
break;
case TABLE:
RenderTable(browser, surface, x, y, w, h, left, right, block);
- lineComplete = true;
block = NextBlockUp(surface, block, null, RenderFlags { render = true });
textPos = 0;
break;
bool result = false;
int textPos = startTextPos;
Block block = startBlock;
- bool lineComplete = false;
for(;!result;)
{
break;
case TABLE:
result = PickTable(browser, surface, x, y, w, h, left, right, block, pickX, pickY, pickBlock, pickTextPos);
- lineComplete = true;
block = NextBlockUp(surface, block, null, RenderFlags { render = true });
textPos = 0;
break;
{
int textPos = startTextPos;
Block block = startBlock;
- bool lineComplete = false;
for(;;)
{
block.window.size.w, block.window.size.h);
//block.window.visible = false;
x += block.window.size.w;
- if(block.inputType == text)
- {
- printf("");
- }
}
break;
}
case IMAGE:
{
int bw = block.pWidth ? (w * block.pWidth / 100) : block.w;
- int bh = block.pHeight ? (h * block.pHeight / 100) : block.h;
- int dx, dy;
+ //int bh = block.pHeight ? (h * block.pHeight / 100) : block.h;
+ int dx;//, dy;
switch(block.halign)
{
break;
}
+ /*
switch(block.valign)
{
case bottom: dy = y + h - bh; break;
case top: dy = y; break;
case middle: dy = y + (h - bh) / 2; break;
}
+ */
x += bw;
break;
break;
case TABLE:
PositionTable(browser, surface, x, y, w, h, left, right, block);
- lineComplete = true;
block = NextBlockUp(surface, block, null, RenderFlags { render = true });
textPos = 0;
break;