Page 1 of 3

Рабочая обстановка для написания кода

Posted: Wed Jun 24, 2015 7:11 am
by Pathoswithin
Хочу писать под колибри из колибри. Первое, что бросается в глаза — не масштабируемый шрифт. Текстовые редакторы тоже не идеальны. Как толковый сапожник, буду делать обувь сам. К залу два вопроса:
Какой редактор доделывать?
Как работает механизм вывода текста? API, ядро.

Posted: Wed Jun 24, 2015 10:06 am
by punk_joker
TinyPad использует собственный компонент, TextEdit использует компонент из box_lib, собственно этот компонент и был разработан в процессе работы над TextEdit. При этом, компонент TinyPad имеет более привычный вид (это про вертикальный курсор)

Posted: Wed Jun 24, 2015 10:10 am
by punk_joker
Каждый из редакторов имеет что-тг, что хотелось бы,видеть в редакторе, и чего-то нет. В идеале необходимо что-то среднее между ними. Основные баги TinyPad описаны в теме по редактору, при работе над ним, следует начинать именно с этого списка. TextEdit видимых багов не содержит, но и функционал его местами бедноват.

Re: Рабочая обстановка для написания кода

Posted: Wed Jun 24, 2015 11:25 am
by art_zh
Pathoswithin
не забывай, что есть еще встроенный редактор в KFAR.
KFAR можно скомпилить с очень большими шрифтами (10х20), причем если чего не нравится - очень легко сгенерить битмап своего собственного шрифта.

Re: Рабочая обстановка для написания кода

Posted: Wed Jun 24, 2015 2:39 pm
by Pathoswithin
KFAR я не смотрел. Главная проблема, что это файловый менеджер и не всякий догадается, что в нём самый лучший редактор в системе. К тому же, конечная цель — максимальный функционал редактора, масштабирование и сглаживание системных шрифтов.
Изменю первый вопрос. Какой редактор взять за основу и что нужно перенести из второго? Неплохо бы решить этот вопрос с учётом структуры кода.

Re: Рабочая обстановка для написания кода

Posted: Wed Jun 24, 2015 6:34 pm
by popovpa
В TinyPad есть всё что нужно...нужно только подправить копирование/вставку...

Posted: Wed Jun 24, 2015 7:36 pm
by punk_joker
Да, TinyPad предпочтительный кандидат. Из необходимого, исправить ряд багов, описанных в теме, и реализовать отмену/повтор изменений.

Re: Рабочая обстановка для написания кода

Posted: Wed Jun 24, 2015 9:19 pm
by Pathoswithin
Хорошо, TinyPad. Кто им занимается... Марио.
Why.PNG
Why.PNG (5.17 KiB)
Viewed 10599 times
Ироничное название, я уже прикидываю масштаб проблемы... Ладно, кто-то может сэкономить моё время и описать его устройство в целом?

Re: Рабочая обстановка для написания кода

Posted: Thu Jun 25, 2015 12:53 am
by punk_joker
Изначальный автор mike.dld, Mario лишь исправил несколько багов (за что кстате ему спасибо). Разбираться скорее всего придется самому, что в принципе не самое тяжелое (раз уж даже я, со своими скудными знаниями, сумел соориентироваться в коде).

Re: Рабочая обстановка для написания кода

Posted: Thu Jun 25, 2015 9:00 am
by XProger
В TinyPad баг со вставкой из буфера обмена бы пофиксить, цены бы ему не было.

Re: Рабочая обстановка для написания кода

Posted: Thu Jun 25, 2015 9:52 am
by Gluk
Pathoswithin wrote:не всякий догадается, что в нём самый лучший редактор в системе.
всякий кто пользовался FAR, догадается :)

Re: Рабочая обстановка для написания кода

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

Re: Рабочая обстановка для написания кода

Posted: Fri Jul 03, 2015 7:29 pm
by XProger
Pathoswithin,
mov [gs:eax], цвет
где eax линейный адрес пикселя в байтах (зависит от разрешения и разрядности)

Re: Рабочая обстановка для написания кода

Posted: Sat Jul 04, 2015 12:52 am
by Pathoswithin
Это в пользовательском режиме, а в ядре похоже можно адресовать непосредственно — LFB_BASE = FE000000h. Или можно и дальше через putpixel. Неплохо бы, чтоб Serge или art_zh сказал что лучше.

Re: Рабочая обстановка для написания кода

Posted: Sat Jul 04, 2015 11:52 am
by Serge
Pathoswithin
Без всяких gs прямой доступ к видеопамяти открыт всем приложениям, начиная с FE000000