forked from KolibriOS/kolibrios
WebView 3.65: table width support
git-svn-id: svn://kolibrios.org@9309 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
ebd134809c
commit
a0253bc1a6
@ -329,7 +329,9 @@ NOIMG:
|
|||||||
struct TABLE {
|
struct TABLE {
|
||||||
int count;
|
int count;
|
||||||
int depth;
|
int depth;
|
||||||
|
int margin;
|
||||||
collection_int cols;
|
collection_int cols;
|
||||||
|
collection_int width;
|
||||||
} table;
|
} table;
|
||||||
|
|
||||||
|
|
||||||
@ -360,6 +362,12 @@ void TWebBrowser::tag_table()
|
|||||||
if (table.depth==1) {
|
if (table.depth==1) {
|
||||||
table.count++;
|
table.count++;
|
||||||
colcount = 0;
|
colcount = 0;
|
||||||
|
if (tag.get_number_of("width")) {
|
||||||
|
if (strchr(tag.value, '%')) tag.number = list.w * tag.number / 100;
|
||||||
|
table.width.set(table.count, math.min(tag.number,list.w));
|
||||||
|
} else {
|
||||||
|
table.width.set(table.count, list.w);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (table.depth>0) {
|
if (table.depth>0) {
|
||||||
@ -428,19 +436,21 @@ void TWebBrowser::tag_table()
|
|||||||
if (tag.opened) {
|
if (tag.opened) {
|
||||||
|
|
||||||
if (!td_pos) {
|
if (!td_pos) {
|
||||||
draw_x = left_gap = BODY_MARGIN;
|
table.margin = list.w - table.width.get(table.count) / 2 + BODY_MARGIN;
|
||||||
|
draw_x = left_gap = table.margin;
|
||||||
|
draw_w = table.width.get(table.count) - BODY_MARGIN;
|
||||||
} else {
|
} else {
|
||||||
draw_x = left_gap = left_gap + draw_w;
|
draw_x = left_gap = left_gap + draw_w;
|
||||||
|
draw_w = table.width.get(table.count) - left_gap;
|
||||||
}
|
}
|
||||||
|
|
||||||
draw_w = list.w - BODY_MARGIN - 23 - left_gap;
|
|
||||||
if (EAX = table.cols.get(tr_pos-1)-td_pos) draw_w /= EAX; else {
|
if (EAX = table.cols.get(tr_pos-1)-td_pos) draw_w /= EAX; else {
|
||||||
draw_y = row_start_y;
|
draw_y = row_start_y;
|
||||||
draw_x = left_gap = BODY_MARGIN;
|
draw_x = left_gap = table.margin;
|
||||||
}
|
}
|
||||||
if (table.cols.get(tr_pos-1)-td_pos>1) && (tag.get_number_of("width")) {
|
if (table.cols.get(tr_pos-1)-td_pos>1) && (tag.get_number_of("width")) {
|
||||||
if (strchr(tag.value, '%')) {
|
if (strchr(tag.value, '%')) {
|
||||||
tag.number = list.w - BODY_MARGIN - 23 - left_gap * tag.number / 100;
|
tag.number = table.width.get(table.count) - table.margin - 23 - left_gap * tag.number / 100;
|
||||||
}
|
}
|
||||||
if (tag.number < draw_w) draw_w = tag.number;
|
if (tag.number < draw_w) draw_w = tag.number;
|
||||||
}
|
}
|
||||||
@ -450,9 +460,9 @@ void TWebBrowser::tag_table()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (draw_x > list.w) {
|
if (draw_x > table.width.get(table.count)) {
|
||||||
draw_x = left_gap = BODY_MARGIN;
|
draw_x = left_gap = table.margin;
|
||||||
draw_w = list.w - BODY_MARGIN - 23 - left_gap;
|
draw_w = table.width.get(table.count) - table.margin - 23 - left_gap;
|
||||||
table.depth = 0;
|
table.depth = 0;
|
||||||
NewLine();
|
NewLine();
|
||||||
if (debug_mode) {
|
if (debug_mode) {
|
||||||
|
@ -343,6 +343,12 @@ void ProcessKeyEvent()
|
|||||||
void SetElementSizes()
|
void SetElementSizes()
|
||||||
{
|
{
|
||||||
omnibox_edit.width = Form.cwidth - omnibox_edit.left - 52 - 16;
|
omnibox_edit.width = Form.cwidth - omnibox_edit.left - 52 - 16;
|
||||||
|
if (Form.cwidth - scroll_wv.size_x != WB1.list.w) {
|
||||||
|
//temporary fix for crash
|
||||||
|
//related to 'cur_img_url' var read
|
||||||
|
//http://board.kolibrios.org/viewtopic.php?f=1&t=1712&start=60#p77523
|
||||||
|
StopLoading();
|
||||||
|
}
|
||||||
WB1.list.SetSizes(0, TOOLBAR_H+TAB_H, Form.cwidth - scroll_wv.size_x,
|
WB1.list.SetSizes(0, TOOLBAR_H+TAB_H, Form.cwidth - scroll_wv.size_x,
|
||||||
Form.cheight - TOOLBAR_H - STATUSBAR_H - TAB_H, BASIC_LINE_H);
|
Form.cheight - TOOLBAR_H - STATUSBAR_H - TAB_H, BASIC_LINE_H);
|
||||||
WB1.list.wheel_size = 7 * BASIC_LINE_H;
|
WB1.list.wheel_size = 7 * BASIC_LINE_H;
|
||||||
|
@ -107,4 +107,4 @@ char editbox_icons[] = FROM "res/editbox_icons.raw";
|
|||||||
|
|
||||||
#define DEFAULT_URL URL_SERVICE_HOMEPAGE
|
#define DEFAULT_URL URL_SERVICE_HOMEPAGE
|
||||||
|
|
||||||
char version[]="WebView 3.62c";
|
char version[]="WebView 3.65";
|
@ -1,5 +1,6 @@
|
|||||||
<html>
|
<html>
|
||||||
<title>TEST</title>
|
<title>TEST</title>
|
||||||
|
<style>a {display:block;font-size:130%;margin:5px 40px 5px 0;}</style>
|
||||||
<body>
|
<body>
|
||||||
<pre>
|
<pre>
|
||||||
<a href=//kolibrios.org>KolibriOS</a>
|
<a href=//kolibrios.org>KolibriOS</a>
|
||||||
|
Loading…
Reference in New Issue
Block a user