Compare commits
1 Commits
webview-3.
...
f42e35f19a
| Author | SHA1 | Date | |
|---|---|---|---|
| f42e35f19a |
@@ -668,8 +668,6 @@ socket_accept:
|
||||
|
||||
DEBUGF DEBUG_NETWORK_VERBOSE, "SOCKET_accept: socknum=%u sockaddr=%x length=%u\n", ecx, edx, esi
|
||||
|
||||
push edx esi
|
||||
|
||||
call socket_num_to_ptr
|
||||
test eax, eax
|
||||
jz .invalid
|
||||
@@ -698,24 +696,6 @@ socket_accept:
|
||||
mov ebx, [ebx + APPDATA.tid]
|
||||
mov [eax + SOCKET.TID], ebx
|
||||
|
||||
pop esi edx
|
||||
|
||||
test edx, edx
|
||||
jz .skip_sockaddr
|
||||
|
||||
mov word[edx], 0 ; unknown domain
|
||||
cmp esi, 8 ; domain + port + ipv4
|
||||
jb .skip_sockaddr
|
||||
|
||||
mov word[edx], AF_INET4
|
||||
mov esi, edx
|
||||
mov edx, [eax + IP_SOCKET.RemoteIP]
|
||||
mov [esi + sockaddr.ip], edx
|
||||
|
||||
mov dx, [eax + TCP_SOCKET.RemotePort]
|
||||
mov [esi + sockaddr.port], dx
|
||||
|
||||
.skip_sockaddr:
|
||||
; Return socket number to caller
|
||||
mov eax, [eax + SOCKET.Number]
|
||||
mov [esp + SYSCALL_STACK.eax], eax
|
||||
@@ -731,19 +711,16 @@ socket_accept:
|
||||
.wouldblock:
|
||||
mov dword[esp + SYSCALL_STACK.ebx], EWOULDBLOCK
|
||||
mov dword[esp + SYSCALL_STACK.eax], -1
|
||||
pop esi edx
|
||||
ret
|
||||
|
||||
.invalid:
|
||||
mov dword[esp + SYSCALL_STACK.ebx], EINVAL
|
||||
mov dword[esp + SYSCALL_STACK.eax], -1
|
||||
pop esi edx
|
||||
ret
|
||||
|
||||
.notsupp:
|
||||
mov dword[esp + SYSCALL_STACK.ebx], EOPNOTSUPP
|
||||
mov dword[esp + SYSCALL_STACK.eax], -1
|
||||
pop esi edx
|
||||
ret
|
||||
|
||||
;-----------------------------------------------------------------;
|
||||
|
||||
@@ -85,7 +85,6 @@ struct TWebBrowser {
|
||||
void tag_table();
|
||||
void tag_td();
|
||||
void tag_tr();
|
||||
void reset_font_style();
|
||||
};
|
||||
|
||||
#include "TWB\render.h"
|
||||
@@ -95,16 +94,16 @@ void TWebBrowser::SetPageDefaults()
|
||||
{
|
||||
t_html = t_body = link = false;
|
||||
style.reset();
|
||||
reset_font_style();
|
||||
link_color_default = 0x0000FF;
|
||||
link_color_active = 0xFF0000;
|
||||
style.cur_line_h = list.item_h;
|
||||
links.clear();
|
||||
anchors.clear();
|
||||
img_url.drop();
|
||||
text_colors.drop();
|
||||
text_colors.add(0);
|
||||
if (secondrun) {
|
||||
canvas.Init(list.x, list.y, list.w, math.max(list.visible, list.count)+200);
|
||||
canvas.Init(list.x, list.y, list.w, math.max(list.visible, list.count));
|
||||
canvas.Fill(0, bg_colors.get(0));
|
||||
}
|
||||
bg_colors.drop();
|
||||
@@ -115,6 +114,7 @@ void TWebBrowser::SetPageDefaults()
|
||||
draw_w = list.w - BODY_MARGIN - BODY_MARGIN;
|
||||
linebuf = 0;
|
||||
redirect = '\0';
|
||||
list.SetFont(8, 14, 10011000b);
|
||||
tag_table_reset();
|
||||
is_html = true;
|
||||
if (!strstri(bufpointer, "<body")) {
|
||||
|
||||
@@ -49,14 +49,14 @@ void TWebBrowser::RenderLine(dword _line)
|
||||
pc = text_colors.get_last();
|
||||
if (link) && (pc == text_colors.get(0)) pc = link_color_default;
|
||||
|
||||
canvas.WriteText(draw_x, draw_y+1, list.font_type, pc, _line, NULL);
|
||||
if (style.b) canvas.WriteText(draw_x+1, draw_y+1, list.font_type, pc, _line, NULL);
|
||||
canvas.WriteText(draw_x, draw_y, list.font_type, pc, _line, NULL);
|
||||
if (style.b) canvas.WriteText(draw_x+1, draw_y, list.font_type, pc, _line, NULL);
|
||||
if (style.s) canvas.DrawBar(draw_x, list.item_h / 2 - zoom + draw_y, pw, zoom, pc);
|
||||
if (style.u) canvas.DrawBar(draw_x, draw_y + list.font_h, pw, zoom, pc);
|
||||
if (style.u) canvas.DrawBar(draw_x, list.item_h - zoom - zoom + draw_y, pw, zoom, pc);
|
||||
if (link) {
|
||||
if (ESBYTE[_line]==' ') && (ESBYTE[_line+1]==NULL) {} else {
|
||||
canvas.DrawBar(draw_x, draw_y + list.font_h, pw, zoom, link_color_default);
|
||||
links.add_text(draw_x, draw_y + list.y, pw, list.font_h, zoom);
|
||||
canvas.DrawBar(draw_x, draw_y + list.item_h - calc(zoom*2)-1, pw, zoom, link_color_default);
|
||||
links.add_text(draw_x, draw_y + list.y, pw, list.item_h - calc(zoom*2)-1, zoom);
|
||||
}
|
||||
}
|
||||
_SKIP_DRAW:
|
||||
|
||||
@@ -208,20 +208,9 @@ void TWebBrowser::tag_li()
|
||||
void TWebBrowser::tag_hr()
|
||||
{
|
||||
dword hrcol = 0x00777777;
|
||||
dword hr_width = draw_w-BODY_MARGIN-BODY_MARGIN;
|
||||
dword hr_size = 1;
|
||||
if (tag.get_value_of("color")) {
|
||||
hrcol = GetColor(tag.value);
|
||||
}
|
||||
if (tag.get_value_of("width")) && (!strchr(tag.value, '%')) {
|
||||
hr_width = math.min(hr_width, tag.get_number_of("width"));
|
||||
}
|
||||
if (tag.get_number_of("size")) {
|
||||
hr_size = math.min(500, tag.number);
|
||||
}
|
||||
if (tag.get_value_of("color")) hrcol = GetColor(tag.value);
|
||||
if (draw_x != left_gap) NewLine();
|
||||
if (secondrun) canvas.DrawBar(left_gap, style.cur_line_h / 2 + draw_y - 1, hr_width, hr_size, hrcol);
|
||||
draw_y += hr_size - 3;
|
||||
if (secondrun) canvas.DrawBar(5+left_gap, style.cur_line_h / 2 + draw_y - 1, draw_w-10, 1, hrcol);
|
||||
draw_x++;
|
||||
NewLine();
|
||||
return;
|
||||
@@ -246,12 +235,6 @@ void TWebBrowser::tag_q()
|
||||
chrncat(#linebuf, '\"', sizeof(TWebBrowser.linebuf));
|
||||
}
|
||||
|
||||
void TWebBrowser::reset_font_style()
|
||||
{
|
||||
list.SetFont(BASIC_CHAR_W, 14, 10011000b);
|
||||
style.cur_line_h = list.item_h = list.font_h + 5;
|
||||
}
|
||||
|
||||
void TWebBrowser::tag_h1234_caption()
|
||||
{
|
||||
if (ESBYTE[#tag.name+1]=='4') {
|
||||
@@ -267,18 +250,19 @@ void TWebBrowser::tag_h1234_caption()
|
||||
NewLine();
|
||||
}
|
||||
if (tag.is("h1")) {
|
||||
list.SetFont(BASIC_CHAR_W*2, 14+13, 10011001b);
|
||||
list.SetFont(BASIC_CHAR_W*2, 14+14, 10011001b);
|
||||
style.b = true;
|
||||
} else if (tag.is("h2")) {
|
||||
list.SetFont(BASIC_CHAR_W*2, 14+13, 10011001b);
|
||||
list.SetFont(BASIC_CHAR_W*2, 14+14, 10011001b);
|
||||
} else {
|
||||
list.SetFont(6*2, 9+8, 10001001b);
|
||||
list.SetFont(6*2, 9+7, 10001001b);
|
||||
}
|
||||
style.cur_line_h = list.item_h = list.font_h + 3;
|
||||
style.cur_line_h = list.item_h = list.font_h + 2;
|
||||
} else {
|
||||
if (tag.is("h1")) style.b = false;
|
||||
NewLine();
|
||||
reset_font_style();
|
||||
list.SetFont(BASIC_CHAR_W, 14, 10011000b);
|
||||
style.cur_line_h = list.item_h = BASIC_LINE_H;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -292,7 +276,7 @@ void TWebBrowser::tag_kosicon()
|
||||
if (shared_i18) && (tag.get_number_of("n")) {
|
||||
if (tag.number < maxicon) {
|
||||
if (draw_x + 18 > canvas.bufw) NewLine();
|
||||
canvas.DrawImage(draw_x, draw_y-1, 18, 18, 18*18*4*tag.number+shared_i18);
|
||||
canvas.DrawImage(draw_x, draw_y-2, 18, 18, 18*18*4*tag.number+shared_i18);
|
||||
draw_x += 22;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,4 +112,4 @@ char editbox_icons[] = FROM "res/editbox_icons.raw";
|
||||
|
||||
#define DEFAULT_URL URL_SERVICE_HOMEPAGE
|
||||
|
||||
char version[]="WebView 3.91";
|
||||
char version[]="WebView 3.9";
|
||||
@@ -1,7 +1,7 @@
|
||||
#ifdef LANG_RUS
|
||||
#define HISTORY_HEADER "<html><title>ˆáâ®à¨ï</title><body bgcolor=#fff><h3><3E>®á¥é¥ë¥ áâà ¨æë</h3><br>"
|
||||
#define HISTORY_HEADER "<html><title>ˆáâ®à¨ï</title><body><b><3E>®á¥é¥ë¥ áâà ¨æë</b><br>"
|
||||
#else
|
||||
#define HISTORY_HEADER "<html><title>History</title><body bgcolor=#fff><h3>Visited pages</h3><br>"
|
||||
#define HISTORY_HEADER "<html><title>History</title><body><b>Visited pages</b><br>"
|
||||
#endif
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ ShowHistory()
|
||||
|
||||
for (i=0; i<history.items.count-1; i++) //if (cache.type.get(i) == PAGE)
|
||||
{
|
||||
strcat(history_pointer, "<kosicon n=3><a href='");
|
||||
strcat(history_pointer, "<a href='");
|
||||
strcat(history_pointer, history.items.get(i));
|
||||
strcat(history_pointer, "'>");
|
||||
strcat(history_pointer, history.items.get(i));
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
<html><head><title>New tab</title></head>
|
||||
<body bgcolor=#fff>
|
||||
|
||||
<table><tr><td width=20><td width=220><pre>
|
||||
_____________________
|
||||
|# : : #|
|
||||
| : WebView : |
|
||||
| : for : |
|
||||
| : KolibriOS : |
|
||||
| : : |
|
||||
| :_______________: |
|
||||
| ____________ |
|
||||
| | __ | |
|
||||
| || | | |
|
||||
\_____||__|________|__|<font color=#DDD>lc</font>
|
||||
<table><tr><td width=20><td width=210><pre>
|
||||
___________________
|
||||
|# : : #|
|
||||
| : WebView : |
|
||||
| : TextBased : |
|
||||
| : Browser : |
|
||||
| : : |
|
||||
| :_____________: |
|
||||
| ___________ |
|
||||
| | __ | |
|
||||
| || | | |
|
||||
\____||__|_______|__|<font color=#DDD>lc</font>
|
||||
|
||||
<font bg=#F8F15B> web <font bg=#FF5A7E color=#fff> 1.0 <font bg=#47D018> compatable
|
||||
<font bg=#3CE7FF> </font></font></font></font>
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
<html><head><title><EFBFBD>®¢ ï ¢ª« ¤ª </title></head>
|
||||
<body bgcolor=#fff>
|
||||
|
||||
<table><tr><td width=20><td width=220><pre>
|
||||
_____________________
|
||||
|# : : #|
|
||||
| : WebView : |
|
||||
| : for : |
|
||||
| : KolibriOS : |
|
||||
| : : |
|
||||
| :_______________: |
|
||||
| ____________ |
|
||||
| | __ | |
|
||||
| || | | |
|
||||
\_____||__|________|__|<font color=#DDD>lc</font>
|
||||
<table><tr><td width=20><td width=210><pre>
|
||||
___________________
|
||||
|# : : #|
|
||||
| : WebView : |
|
||||
| : ’¥ªáâ®¢ë© : |
|
||||
| : <EFBFBD>à ã§¥à : |
|
||||
| : : |
|
||||
| :_____________: |
|
||||
| ___________ |
|
||||
| | __ | |
|
||||
| || | | |
|
||||
\____||__|_______|__|<font color=#DDD>lc</font>
|
||||
|
||||
<font bg=#F8F15B> web <font bg=#FF5A7E color=#fff> 1.0 <font bg=#47D018> compatable
|
||||
<font bg=#3CE7FF> </font></font></font></font>
|
||||
|
||||
@@ -5,19 +5,12 @@
|
||||
<title>Тест Acid 0.1</title>
|
||||
</head>
|
||||
<body bgcolor="#000000" link="#0066FF" text="#FFFFFF">
|
||||
<h1 align=center>Тест Acid 0.1</h1>
|
||||
<br>
|
||||
<b>Это тестовая страница для проверки текстового браузера <s>HTML Viewer</s> WebView</b>
|
||||
|
||||
<p>Из кодировок поддерживаются: CP866(DOS), CP1251(Windows), CP1252(Latin legacy), KOI8, и конечно UTF8. CSS и Javascript пока не реализованы (ахахаха). Поддержка тега <table> крайне базовая, поддержки вложенных таблиц нет.
|
||||
<h1 align=center>Это тестовая страница для проверки WebViewer</h1>
|
||||
<br />
|
||||
<p>WebViewer является текстовым браузером и поддерживает все популярные кодировки (cp1251, koi-8, cp866, unicode)
|
||||
и некоторые теги. Поддержка таблииц (<table>), CSS, Javascript'a и Контактика пока не реализована :)
|
||||
</p>
|
||||
|
||||
<h3>История</h3>
|
||||
|
||||
Ранее программа называлась <b >HTMLv (HTML Viewer)</b> и изначально задумывалась как <q>Центр справки и поддержки</q>. Чтобы не изобретать велосипед и одновременно исполнить мечту многих, форматом просматриваемых страниц был выбран html.
|
||||
Первоначальный автор Veliant, затем разработка была подхвачена дизайнером Leency. Это была моя вторая программа после файлового менеджера Eolite.<br>
|
||||
|
||||
<span> <br />
|
||||
<br />
|
||||
|
||||
<b>
|
||||
<font color="#FF0000">K</font>
|
||||
@@ -40,8 +33,7 @@
|
||||
</b>
|
||||
<br>
|
||||
|
||||
<table>
|
||||
<td>
|
||||
<p>
|
||||
<bg bgcolor=#333>
|
||||
Небольшой список:<ol>
|
||||
<li><q>Этот текст в кавычках</q></li>
|
||||
@@ -54,14 +46,17 @@
|
||||
</p>
|
||||
<br>
|
||||
|
||||
<pre>
|
||||
"Осень уже пришла!"-
|
||||
Шепнул мне на ухо ветер,
|
||||
Подкравшись к подушке моей.
|
||||
|
||||
Басе
|
||||
</pre>
|
||||
<!-- комментарий: этого текста здесь <нет> -->
|
||||
|
||||
<br>
|
||||
|
||||
<img alt="нет картинки, просто alt">
|
||||
|
||||
<img src = http://wiby.org/about/wibyplex.gif>
|
||||
|
||||
<a href="http://kolibrios.org/i/logo.png"><img id="2.1.4" src="http://kolibrios.org/i/logo.png" alt="logo"><br>Открыть</a><br>
|
||||
|
||||
<br>
|
||||
@@ -70,25 +65,10 @@
|
||||
<a href='/sys/index.htm'>Незакрытый тег а - index.htm<br>
|
||||
<a href="/sys/calc">/sys/calc</a><br>
|
||||
<a href="#2.1.4">#2.1.4</a><br>
|
||||
<a href="http://kolibrios.org">http://kolibrios.org</a><br>
|
||||
<a href="http://bash.im">http://bash.im</a><br>
|
||||
<a href="mailto:leency@mail.ru">Mail to Leency</a><br>
|
||||
<br>
|
||||
|
||||
<h1><a href=#>Link H1</a> <u>Underline H1</u></h1>
|
||||
<h2><a href=#>Link H2</a> <u>Underline H2</u></h2>
|
||||
<h3><a href=#>Link H3</a> <u>Underline H2</u></h3>
|
||||
<a href=#>Link</a> <u>Underline</u>
|
||||
|
||||
<td>
|
||||
|
||||
<pre>
|
||||
"Осень уже пришла!"-
|
||||
Шепнул мне на ухо ветер,
|
||||
Подкравшись к подушке моей.
|
||||
|
||||
Басе
|
||||
|
||||
</pre><br>
|
||||
<br>
|
||||
|
||||
В этом тексте есть переход на следующую строку, но браузер
|
||||
его должен проигнорировать. Еще много пробелов. А тут есть
|
||||
@@ -100,19 +80,8 @@
|
||||
корпус на территории НТУ «ХПИ»
|
||||
</p>
|
||||
|
||||
<pre><font color="#000">
|
||||
<font bg=#FFED00 style="background-color:#FFED00"> Заметки </font>
|
||||
<font bg=#FFFBCE style="background-color:#FFFBCE"> </font>
|
||||
<font bg=#FFFBCE style="background-color:#FFFBCE"> Речка на Жукова </font>
|
||||
<font bg=#FFFBCE style="background-color:#FFFBCE"> Heroes 3 </font>
|
||||
<font bg=#FFFBCE style="background-color:#FFFBCE"> Рисостерон, куринабол </font>
|
||||
<font bg=#FFFBCE style="background-color:#FFFBCE"> </font>
|
||||
</font></pre>
|
||||
|
||||
</table>
|
||||
|
||||
<hr color="#758999">
|
||||
<center>Zhytomyr 2008-2025</center>
|
||||
<center>Zhitomyr 2008-2015</center>
|
||||
|
||||
|
||||
</body>
|
||||
|
||||
@@ -276,17 +276,13 @@ import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
if defined sz_#n
|
||||
n dd sz_#n
|
||||
end if
|
||||
}
|
||||
include '../../develop/libraries/TinyGL/asm_fork/export.inc'
|
||||
dd 0,0
|
||||
macro E_LIB n
|
||||
{
|
||||
if used n
|
||||
sz_#n db `n,0
|
||||
end if
|
||||
}
|
||||
include '../../develop/libraries/TinyGL/asm_fork/export.inc'
|
||||
|
||||
|
||||
Binary file not shown.
@@ -28,7 +28,7 @@ IMPORT
|
||||
RW, Ini, EB := EditBox, Tabs, Toolbar, SB := StatusBar;
|
||||
|
||||
CONST
|
||||
HEADER = "CEdit (30-apr-2025)";
|
||||
HEADER = "CEdit (27-feb-2025)";
|
||||
|
||||
ShellFilter = "";
|
||||
EditFilter = "sh|inc|txt|asm|ob07|c|cpp|h|pas|pp|lua|ini|json";
|
||||
@@ -1320,7 +1320,7 @@ BEGIN
|
||||
|menuBoard:
|
||||
K.Run("/sys/develop/board", "")
|
||||
|menuSysFunc:
|
||||
K.Run("/sys/docpack", "e")
|
||||
K.Run("/sys/docpack", "f")
|
||||
|menuLineNumbers:
|
||||
T.toggleNumbers;
|
||||
Ini.setInt("settings", "line_numbers", ORD(T.lineNumbers))
|
||||
|
||||
@@ -1291,17 +1291,13 @@ align 4
|
||||
import_tinygl:
|
||||
macro E_LIB n
|
||||
{
|
||||
if defined sz_#n
|
||||
n dd sz_#n
|
||||
end if
|
||||
}
|
||||
include '../../develop/libraries/TinyGL/asm_fork/export.inc'
|
||||
dd 0,0
|
||||
macro E_LIB n
|
||||
{
|
||||
if used n
|
||||
sz_#n db `n,0
|
||||
end if
|
||||
}
|
||||
include '../../develop/libraries/TinyGL/asm_fork/export.inc'
|
||||
|
||||
@@ -1367,9 +1363,9 @@ white_light dd 0.8, 0.8, 0.8, 1.0 ;
|
||||
lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; <20> à ¬¥âàë ä®®¢®£® ®á¢¥é¥¨ï
|
||||
|
||||
if lang eq ru_RU
|
||||
capt db 'info 3ds ¢¥àá¨ï 04.05.25',0 ;¯®¤¯¨áì ®ª
|
||||
capt db 'info 3ds ¢¥àá¨ï 29.04.25',0 ;¯®¤¯¨áì ®ª
|
||||
else ; Default to en_US
|
||||
capt db 'info 3ds version 04.05.25',0 ;window caption
|
||||
capt db 'info 3ds version 29.04.25',0 ;window caption
|
||||
end if
|
||||
|
||||
align 16
|
||||
|
||||
@@ -21,7 +21,7 @@ proc gl_transform_to_viewport uses eax ebx ecx, context:dword,v:dword
|
||||
fmul st0,st1
|
||||
fmul dword[eax+GLContext.viewport+GLViewport.scale+offs_X]
|
||||
fadd dword[eax+GLContext.viewport+GLViewport.trans+offs_X]
|
||||
fistp dword[ebx+GLVertex.zp+ZBufferPoint.x] ;v.zp.x = st0, st0 = st1
|
||||
fistp dword[ebx+GLVertex.zp] ;v.zp.x = st0, st0 = st1
|
||||
|
||||
fld dword[ebx+GLVertex.pc+offs_Y] ;st0 = v.pc.Y
|
||||
fmul st0,st1
|
||||
|
||||
@@ -187,17 +187,13 @@ import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
if defined sz_#n
|
||||
n dd sz_#n
|
||||
end if
|
||||
}
|
||||
include '../export.inc'
|
||||
dd 0,0
|
||||
macro E_LIB n
|
||||
{
|
||||
if used n
|
||||
sz_#n db `n,0
|
||||
end if
|
||||
}
|
||||
include '../export.inc'
|
||||
|
||||
|
||||
@@ -495,17 +495,13 @@ import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
if defined sz_#n
|
||||
n dd sz_#n
|
||||
end if
|
||||
}
|
||||
include '../export.inc'
|
||||
dd 0,0
|
||||
macro E_LIB n
|
||||
{
|
||||
if used n
|
||||
sz_#n db `n,0
|
||||
end if
|
||||
}
|
||||
include '../export.inc'
|
||||
|
||||
|
||||
@@ -53,7 +53,7 @@ load_libraries l_libs_start,l_libs_end
|
||||
|
||||
stdcall [kosglMakeCurrent], 3d_wnd_l,3d_wnd_t,[buf_ogl.w],[buf_ogl.h],ctx1
|
||||
stdcall [glEnable], GL_DEPTH_TEST
|
||||
stdcall [glEnable], GL_NORMALIZE ;normals of the same size to avoid artifacts
|
||||
stdcall [glEnable], GL_NORMALIZE ;делам нормали одинаковой величины во избежание артефактов
|
||||
call [gluNewQuadric]
|
||||
mov [qObj],eax
|
||||
|
||||
@@ -456,10 +456,10 @@ rad2 dq 0.55
|
||||
|
||||
fl_180 dd 180.0
|
||||
|
||||
scale dd 0.4 ;initial scale
|
||||
sc_delt dd 0.05 ;zoom on click
|
||||
sc_min dd 0.1 ;minimum scale
|
||||
sc_max dd 1.1 ;maximum scale
|
||||
scale dd 0.4 ;начальный масштаб
|
||||
sc_delt dd 0.05 ;изменение масштаба при нажатии
|
||||
sc_min dd 0.1 ;минимальный масштаб
|
||||
sc_max dd 1.1 ;максимальный масштаб
|
||||
angle_z dd 0.0
|
||||
angle_y dd 0.0
|
||||
delt_size dd 3.0
|
||||
@@ -478,17 +478,13 @@ import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
if defined sz_#n
|
||||
n dd sz_#n
|
||||
end if
|
||||
}
|
||||
include '../export.inc'
|
||||
dd 0,0
|
||||
macro E_LIB n
|
||||
{
|
||||
if used n
|
||||
sz_#n db `n,0
|
||||
end if
|
||||
}
|
||||
include '../export.inc'
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ load_libraries l_libs_start,l_libs_end
|
||||
|
||||
stdcall [kosglMakeCurrent], 3d_wnd_l,3d_wnd_t,[buf_ogl.w],[buf_ogl.h],ctx1
|
||||
stdcall [glEnable], GL_DEPTH_TEST
|
||||
stdcall [glEnable], GL_NORMALIZE ;normals of the same size to avoid artifacts
|
||||
stdcall [glEnable], GL_NORMALIZE ;делам нормали одинаковой величины во избежание артефактов
|
||||
call [gluNewQuadric]
|
||||
mov [qObj],eax
|
||||
stdcall [gluQuadricTexture], eax,GL_TRUE
|
||||
@@ -67,11 +67,6 @@ load_libraries l_libs_start,l_libs_end
|
||||
load_image_file 'toolb_1.png', image_data_toolbar
|
||||
load_image_file 'text_1.png', texture, text_w,text_h ;открытие файла текстуры
|
||||
|
||||
fld dword[angle_y]
|
||||
stdcall update_number, txt_angle_y.v
|
||||
fld dword[angle_z]
|
||||
stdcall update_number, txt_angle_z.v
|
||||
|
||||
;* Setup texturing *
|
||||
stdcall [glTexEnvi], GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL
|
||||
|
||||
@@ -88,6 +83,11 @@ load_libraries l_libs_start,l_libs_end
|
||||
stdcall [glBindTexture], GL_TEXTURE_2D, [TexObj]
|
||||
stdcall [glEnable], GL_TEXTURE_2D
|
||||
|
||||
fld dword[angle_y]
|
||||
stdcall update_number, txt_angle_y.v
|
||||
fld dword[angle_z]
|
||||
stdcall update_number, txt_angle_z.v
|
||||
|
||||
call draw_3d
|
||||
|
||||
align 4
|
||||
@@ -438,17 +438,13 @@ import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
if defined sz_#n
|
||||
n dd sz_#n
|
||||
end if
|
||||
}
|
||||
include '../export.inc'
|
||||
dd 0,0
|
||||
macro E_LIB n
|
||||
{
|
||||
if used n
|
||||
sz_#n db `n,0
|
||||
end if
|
||||
}
|
||||
include '../export.inc'
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ load_libraries l_libs_start,l_libs_end
|
||||
|
||||
stdcall [kosglMakeCurrent], 3d_wnd_l,3d_wnd_t,[buf_ogl.w],[buf_ogl.h],ctx1
|
||||
stdcall [glEnable], GL_DEPTH_TEST
|
||||
stdcall [glEnable], GL_NORMALIZE ;normals of the same size to avoid artifacts
|
||||
stdcall [glEnable], GL_NORMALIZE ;делам нормали одинаковой величины во избежание артефактов
|
||||
call [gluNewQuadric]
|
||||
mov [qObj],eax
|
||||
stdcall [gluQuadricTexture], eax,GL_TRUE
|
||||
@@ -68,10 +68,10 @@ load_libraries l_libs_start,l_libs_end
|
||||
load_image_file 'toolb_1.png', image_data_toolbar
|
||||
load_image_file 'text_2.png', texture, text_w,text_h ;открытие файла текстуры
|
||||
|
||||
fld dword[angle_x]
|
||||
stdcall update_number, txt_angle_x.v
|
||||
fld dword[angle_y]
|
||||
stdcall update_number, txt_angle_y.v
|
||||
fld dword[angle_x]
|
||||
stdcall update_number, txt_angle_x.v
|
||||
|
||||
;* Setup texturing *
|
||||
stdcall [glTexEnvi], GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL
|
||||
@@ -369,17 +369,13 @@ import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
if defined sz_#n
|
||||
n dd sz_#n
|
||||
end if
|
||||
}
|
||||
include '../export.inc'
|
||||
dd 0,0
|
||||
macro E_LIB n
|
||||
{
|
||||
if used n
|
||||
sz_#n db `n,0
|
||||
end if
|
||||
}
|
||||
include '../export.inc'
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ load_libraries l_libs_start,l_libs_end
|
||||
|
||||
stdcall [kosglMakeCurrent], 3d_wnd_l,3d_wnd_t,[buf_ogl.w],[buf_ogl.h],ctx1
|
||||
stdcall [glEnable], GL_DEPTH_TEST
|
||||
stdcall [glEnable], GL_NORMALIZE ;normals of the same size to avoid artifacts
|
||||
stdcall [glEnable], GL_NORMALIZE ;делам нормали одинаковой величины во избежание артефактов
|
||||
call [gluNewQuadric]
|
||||
mov [qObj],eax
|
||||
stdcall [gluQuadricDrawStyle], eax,GLU_FILL
|
||||
@@ -320,17 +320,13 @@ import_tinygl:
|
||||
|
||||
macro E_LIB n
|
||||
{
|
||||
if defined sz_#n
|
||||
n dd sz_#n
|
||||
end if
|
||||
}
|
||||
include '../export.inc'
|
||||
dd 0,0
|
||||
macro E_LIB n
|
||||
{
|
||||
if used n
|
||||
sz_#n db `n,0
|
||||
end if
|
||||
}
|
||||
include '../export.inc'
|
||||
|
||||
|
||||
@@ -86,14 +86,14 @@ endl
|
||||
fdiv st0,st1 ;st0 = 0.5
|
||||
|
||||
fild dword[eax+GLViewport.xsize]
|
||||
fsub dword[fl_1e_3]
|
||||
fsub st0,st1
|
||||
fdiv st0,st2
|
||||
fst dword[eax+GLViewport.scale+offs_X]
|
||||
fiadd dword[eax+GLViewport.xmin]
|
||||
fstp dword[eax+GLViewport.trans+offs_X]
|
||||
|
||||
fild dword[eax+GLViewport.ysize]
|
||||
fsub dword[fl_1e_3]
|
||||
fsub st0,st1
|
||||
fdiv st0,st2
|
||||
fchs
|
||||
fst dword[eax+GLViewport.scale+offs_Y]
|
||||
@@ -135,12 +135,20 @@ endl
|
||||
cmp dword[edx+GLContext.lighting_enabled],0 ;if(context.lighting_enabled)
|
||||
jne .if_0
|
||||
cmp dword[edx+GLContext.texture_2d_enabled],0
|
||||
je @f
|
||||
jne .if_0
|
||||
jmp @f
|
||||
align 4
|
||||
.if_0:
|
||||
if DEBUG ;context.matrix_stack_ptr[0]
|
||||
stdcall gl_print_matrix,dword[edx+GLContext.matrix_stack_ptr],4
|
||||
end if
|
||||
; precompute inverse modelview
|
||||
lea ebx,[ebp-sizeof.M4]
|
||||
stdcall gl_M4_Inv, ebx,dword[edx+GLContext.matrix_stack_ptr]
|
||||
if DEBUG ;tmp
|
||||
stdcall dbg_print,txt_sp,txt_nl
|
||||
stdcall gl_print_matrix,ebx,4
|
||||
end if
|
||||
push ebx
|
||||
lea ebx,[edx+GLContext.matrix_model_view_inv]
|
||||
stdcall gl_M4_Transpose, ebx
|
||||
@@ -245,7 +253,8 @@ pushad
|
||||
cmp dword[eax+GLContext.lighting_enabled],0 ;if (context.lighting_enabled)
|
||||
jne @f
|
||||
cmp dword[eax+GLContext.texture_2d_enabled],0
|
||||
je .els_0
|
||||
jne @f
|
||||
jmp .els_0
|
||||
align 4
|
||||
@@:
|
||||
; eye coordinates needed for lighting
|
||||
|
||||
@@ -13,7 +13,7 @@ sz app_board ,'/sys/develop/board',0
|
||||
sz app_tinypad ,'/sys/tinypad',0
|
||||
sz app_docpak ,'/sys/docpack',0
|
||||
|
||||
sz sysfuncs_param,'e',0
|
||||
sz sysfuncs_param,'f',0
|
||||
|
||||
include 'tp-tables.inc'
|
||||
include 'tp-locale.inc'
|
||||
|
||||
Reference in New Issue
Block a user