Board.KolibriOS.org
http://board.kolibrios.org/

Рабочая обстановка для написания кода
http://board.kolibrios.org/viewtopic.php?f=2&t=3073
Page 1 of 3

Author:  Pathoswithin [ Wed Jun 24, 2015 7:11 am ]
Post subject:  Рабочая обстановка для написания кода

Хочу писать под колибри из колибри. Первое, что бросается в глаза — не масштабируемый шрифт. Текстовые редакторы тоже не идеальны. Как толковый сапожник, буду делать обувь сам. К залу два вопроса:
Какой редактор доделывать?
Как работает механизм вывода текста? API, ядро.

Author:  punk_joker [ Wed Jun 24, 2015 10:06 am ]
Post subject: 

TinyPad использует собственный компонент, TextEdit использует компонент из box_lib, собственно этот компонент и был разработан в процессе работы над TextEdit. При этом, компонент TinyPad имеет более привычный вид (это про вертикальный курсор)

Author:  punk_joker [ Wed Jun 24, 2015 10:10 am ]
Post subject: 

Каждый из редакторов имеет что-тг, что хотелось бы,видеть в редакторе, и чего-то нет. В идеале необходимо что-то среднее между ними. Основные баги TinyPad описаны в теме по редактору, при работе над ним, следует начинать именно с этого списка. TextEdit видимых багов не содержит, но и функционал его местами бедноват.

Author:  art_zh [ Wed Jun 24, 2015 11:25 am ]
Post subject:  Re: Рабочая обстановка для написания кода

Pathoswithin
не забывай, что есть еще встроенный редактор в KFAR.
KFAR можно скомпилить с очень большими шрифтами (10х20), причем если чего не нравится - очень легко сгенерить битмап своего собственного шрифта.

Author:  Pathoswithin [ Wed Jun 24, 2015 2:39 pm ]
Post subject:  Re: Рабочая обстановка для написания кода

KFAR я не смотрел. Главная проблема, что это файловый менеджер и не всякий догадается, что в нём самый лучший редактор в системе. К тому же, конечная цель — максимальный функционал редактора, масштабирование и сглаживание системных шрифтов.
Изменю первый вопрос. Какой редактор взять за основу и что нужно перенести из второго? Неплохо бы решить этот вопрос с учётом структуры кода.

Author:  popovpa [ Wed Jun 24, 2015 6:34 pm ]
Post subject:  Re: Рабочая обстановка для написания кода

В TinyPad есть всё что нужно...нужно только подправить копирование/вставку...

Author:  punk_joker [ Wed Jun 24, 2015 7:36 pm ]
Post subject: 

Да, TinyPad предпочтительный кандидат. Из необходимого, исправить ряд багов, описанных в теме, и реализовать отмену/повтор изменений.

Author:  Pathoswithin [ Wed Jun 24, 2015 9:19 pm ]
Post subject:  Re: Рабочая обстановка для написания кода

Хорошо, TinyPad. Кто им занимается... Марио.
Attachment:
Why.PNG
Why.PNG [ 5.17 KiB | Viewed 5175 times ]
Ироничное название, я уже прикидываю масштаб проблемы... Ладно, кто-то может сэкономить моё время и описать его устройство в целом?

Author:  punk_joker [ Thu Jun 25, 2015 12:53 am ]
Post subject:  Re: Рабочая обстановка для написания кода

Изначальный автор mike.dld, Mario лишь исправил несколько багов (за что кстате ему спасибо). Разбираться скорее всего придется самому, что в принципе не самое тяжелое (раз уж даже я, со своими скудными знаниями, сумел соориентироваться в коде).

Author:  XProger [ Thu Jun 25, 2015 9:00 am ]
Post subject:  Re: Рабочая обстановка для написания кода

В TinyPad баг со вставкой из буфера обмена бы пофиксить, цены бы ему не было.

Author:  Gluk [ Thu Jun 25, 2015 9:52 am ]
Post subject:  Re: Рабочая обстановка для написания кода

Pathoswithin wrote:
не всякий догадается, что в нём самый лучший редактор в системе.

всякий кто пользовался FAR, догадается :)

Author:  Pathoswithin [ Fri Jul 03, 2015 4:31 pm ]
Post subject:  Re: Рабочая обстановка для написания кода

Второй вопрос до сих пор без ответа.
Как мне добавить к четвёртой функции параметр "размер шрифта"? В есх есть 3 свободных бита, можно передавать множитель, будет до х8. Хотя это не перспективно, лучше передавать размер в пикселях...
Я смотрю, вывод осуществляется через вызов putpixel... "Это конечно круто". Есть прямой доступ к видеопамяти или что-то вроде DirectDraw?

Author:  XProger [ Fri Jul 03, 2015 7:29 pm ]
Post subject:  Re: Рабочая обстановка для написания кода

Pathoswithin,
mov [gs:eax], цвет
где eax линейный адрес пикселя в байтах (зависит от разрешения и разрядности)

Author:  Pathoswithin [ Sat Jul 04, 2015 12:52 am ]
Post subject:  Re: Рабочая обстановка для написания кода

Это в пользовательском режиме, а в ядре похоже можно адресовать непосредственно — LFB_BASE = FE000000h. Или можно и дальше через putpixel. Неплохо бы, чтоб Serge или art_zh сказал что лучше.

Author:  Serge [ Sat Jul 04, 2015 11:52 am ]
Post subject:  Re: Рабочая обстановка для написания кода

Pathoswithin
Без всяких gs прямой доступ к видеопамяти открыт всем приложениям, начиная с FE000000

Page 1 of 3 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/