Автор | Сообщение |
|
| постоянный участник
|
Пост N: 1118
Зарегистрирован: 09.10.06
|
|
Отправлено: 07.05.12 16:51. Заголовок: Управление шрифтами в MiniGUI
Я немного видоизменил h_font.prg, c_font.c, i_font.ch и в процессе столкнулся с несогласованостью синтаксиса библиотеки. Почему рядом с _DefineFont, _ReleaseFont, _EraseFontDef и др. существуют GetFontParam, GetFontHandle? Почему INITFONT, _SETFONT, _SETFONTHANDLE? Какой тайный смысл в существовании SETFONTNAMESIZE? Есть какая-то шпаргалка, неписанные правила наименования хотя бы функций? Вопрос, наверное, к Григорию, но и остальным пользователям MiniGUI не запрещается поучаствовать в обсуждении темы
|
|
|
Ответов - 7
[только новые]
|
|
|
| moderator
|
Пост N: 379
Зарегистрирован: 11.02.10
|
|
Отправлено: 07.05.12 17:05. Заголовок: Петр пишет: Почему ..
Петр пишет: цитата: | Почему рядом с _DefineFont, _ReleaseFont, _EraseFontDef и др. существуют GetFontParam, GetFontHandle? Почему INITFONT, _SETFONT, _SETFONTHANDLE? Какой тайный смысл в существовании SETFONTNAMESIZE? |
| Эти имена добавлялись по мере совершенствования библиотеки Функция SETFONTNAMESIZE вначале изменяла только имя и размер шрифта, позднее Роберто Лопез добавил в нее и другие артрибуты шрифта, но имя оставил прежнее (видимо, для совместимости кода ) В любом случае, Ваши поправки/улучшения для файлов h_font.prg, c_font.c, i_font.ch желательно увидеть для дальнейшего включения в будущую сборку
|
|
|
|
| постоянный участник
|
Пост N: 1119
Зарегистрирован: 09.10.06
|
|
Отправлено: 07.05.12 17:25. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | Эти имена добавлялись по мере совершенствования библиотеки |
| Это понятно, непонятно по каким правилам производилось декорирование имен В существующей редакции SETFONT и SETFONTNAMESIZE - близнецы братья, смысла в этом никакого. click here
|
|
|
|
| moderator
|
Пост N: 380
Зарегистрирован: 11.02.10
|
|
Отправлено: 07.05.12 20:07. Заголовок: Петр пишет: В сущес..
Петр пишет: цитата: | В существующей редакции SETFONT и SETFONTNAMESIZE - близнецы братья, смысла в этом никакого. |
| Вы абсолютно правы! Большое спасибо за исправление старых ляпов
|
|
|
|
| moderator
|
Пост N: 382
Зарегистрирован: 11.02.10
|
|
Отправлено: 08.05.12 10:52. Заголовок: Добавил следующее оп..
Добавил следующее описание в текуший 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>. |
| Поправил в коде следующую проверку. Вместо ... IF nType < FONT_ATTR_BOLD .OR. nType > FONT_ATTR_STRIKEOUT RETURN .F. ENDIF должно быть так ... IF nType < FONT_ATTR_BOLD .OR. nType > FONT_ATTR_NAME RETURN .F. ENDIF Если есть другие улучшения кода - пишите. Еще раз благодарю за предложенные исправления!
|
|
|
|
| постоянный участник
|
Пост N: 1120
Зарегистрирован: 09.10.06
|
|
Отправлено: 09.05.12 09:09. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: Все правильно. Окончательный (?) вариант click here
|
|
|
|
| moderator
|
Пост N: 383
Зарегистрирован: 11.02.10
|
|
Отправлено: 09.05.12 15:30. Заголовок: Петр пишет: Окончат..
Петр пишет: цитата: | Окончательный (?) вариант |
| Благодарю за доработку и систематизацию исправлений для новой сборки! Я уже поправил ранее файл c_label.с на основе Ваших изменений в c_image.с, но без использования отключенной логики константы _OLD_STYLE
|
|
|
|
| постоянный участник
|
Пост N: 1121
Зарегистрирован: 09.10.06
|
|
Отправлено: 09.05.12 16:46. Заголовок: gfilatov2002 пишет: ..
gfilatov2002 пишет: цитата: | но без использования отключенной логики константы _OLD_STYLE |
| По умолчанию она отключена, но каждый может включить такое поведение. Если мы выбросим неиспользуемый код, то.. уже не каждый . Можно было бы и оставить, упомянув такую возможность в changelog
|
|
|
|