Форум » GUI » Управление шрифтами в MiniGUI » Ответить

Управление шрифтами в MiniGUI

Петр: Я немного видоизменил h_font.prg, c_font.c, i_font.ch и в процессе столкнулся с несогласованостью синтаксиса библиотеки. Почему рядом с _DefineFont, _ReleaseFont, _EraseFontDef и др. существуют GetFontParam, GetFontHandle? Почему INITFONT, _SETFONT, _SETFONTHANDLE? Какой тайный смысл в существовании SETFONTNAMESIZE? Есть какая-то шпаргалка, неписанные правила наименования хотя бы функций? Вопрос, наверное, к Григорию, но и остальным пользователям MiniGUI не запрещается поучаствовать в обсуждении темы

Ответов - 7

gfilatov2002: Петр пишет: Почему рядом с _DefineFont, _ReleaseFont, _EraseFontDef и др. существуют GetFontParam, GetFontHandle? Почему INITFONT, _SETFONT, _SETFONTHANDLE? Какой тайный смысл в существовании SETFONTNAMESIZE? Эти имена добавлялись по мере совершенствования библиотеки Функция SETFONTNAMESIZE вначале изменяла только имя и размер шрифта, позднее Роберто Лопез добавил в нее и другие артрибуты шрифта, но имя оставил прежнее (видимо, для совместимости кода ) В любом случае, Ваши поправки/улучшения для файлов h_font.prg, c_font.c, i_font.ch желательно увидеть для дальнейшего включения в будущую сборку

Петр: gfilatov2002 пишет: Эти имена добавлялись по мере совершенствования библиотеки Это понятно, непонятно по каким правилам производилось декорирование имен В существующей редакции SETFONT и SETFONTNAMESIZE - близнецы братья, смысла в этом никакого. желательно увидеть click here

gfilatov2002: Петр пишет: В существующей редакции SETFONT и SETFONTNAMESIZE - близнецы братья, смысла в этом никакого. Вы абсолютно правы! Большое спасибо за исправление старых ляпов


gfilatov2002: Добавил следующее описание в текуший changelog: * Changed: The internal font management functions were rewritten for simplification and optimization. The function SetFontNameSize() is obsolete now and defined for compatibility with old code only. Contributed by Petr Chornyj <myorg63@mail.ru>. Поправил в коде следующую проверку. Вместо [pre2]... IF nType < FONT_ATTR_BOLD .OR. nType > FONT_ATTR_STRIKEOUT RETURN .F. ENDIF [/pre2] должно быть так [pre2]... IF nType < FONT_ATTR_BOLD .OR. nType > FONT_ATTR_NAME RETURN .F. ENDIF [/pre2] Если есть другие улучшения кода - пишите. Еще раз благодарю за предложенные исправления!

Петр: gfilatov2002 пишет: должно быть так Все правильно. Окончательный (?) вариант click here

gfilatov2002: Петр пишет: Окончательный (?) вариант Благодарю за доработку и систематизацию исправлений для новой сборки! Я уже поправил ранее файл c_label.с на основе Ваших изменений в c_image.с, но без использования отключенной логики константы _OLD_STYLE

Петр: gfilatov2002 пишет: но без использования отключенной логики константы _OLD_STYLE По умолчанию она отключена, но каждый может включить такое поведение. Если мы выбросим неиспользуемый код, то.. уже не каждый . Можно было бы и оставить, упомянув такую возможность в changelog



полная версия страницы