Apr. 2nd, 2010

frob: (Default)
Крайней версии M$-овской документации по формату меньше месяца.
Часть относящаяся к палитре яснее не стала, надо делать тестовые файлы и смотреть что получится.
В SelectObject сказано, что выбирать таким образом палитру нельзя, потому что замена палитры не поддерживается, т.е. надо использовать SelectPalette. Надо бы сделать файл выбирающий палитру "как нельзя".
Про всё сказано, что по умолчанию используются стоковые объекты. Подсовывание линии нарисованной без предварительного выбора пера прокатывает, на аналогичный файл с прямоугольником ругается. Вероятно про умолчальную стоковую кисть наврали.

Переформатировал код mf-demo под принятые в goffice правила.
frob: (Default)
Переделал mf-demo, так чтобы файлы открывались в табах, а не теснили друг друга в vbox. Добавил пустышки для правильной обработки файлов содержащих CreatePalette, CreateRegion и CreatePatternBrush (вместо последней M$ вроде как рекомендует использовать CreateDibPatternBrush, но на всякий случай...).
Для одного из тестовых файлов надо реализовать SaveDC/RestoreDC, а дальше уж до кучи OffsetViewport/Window и ScaleViewport/Window.

Для палитр делаю тестовые файлы. Когда заменю пустышки, можно будет реализовать FrameRegion и PaintRegion.
Всякие варианты на тему ClipRegion пока более-менее в пролёте, поскольку GocItem имеет для этого дела только минимальную поддержку.

В версии документации от 5 марта в Meta-Escape из 43 записей сколько-нибудь полезными (остальные принтер-специфичны) выглядят вот такие:
  • BeginPath, ClipToPath, SetLineCap, SetLineJoin, EndPath, DrawPatternRect
  • CheckJPEGFormat, CheckPNGFormat, EncapsulatedPS, EscapeEMF
И это какая-то лажа.
Из первых шести понятно что делать только с последней, вот только чем MetaRectangle хуже?
Какой смысл в Begin/End Path, если нет ничего для набивания этого Path?
Во второй группе тоже занятно: первые две команды содержат в себе JPEG или PNG изображение, но согласно документации "specifies whether the printer driver supports <формат> image output". На тебе драйвер изображение, посмотри и ответь МОЖЕШЬ ЛИ ТЫ, а выдавать его на печать не надо. Просто спрашиваем...

Никаких причин запихивания EMF в WMF (кроме ректальной совместимости) не придумывается.

Upd:

Profile

frob: (Default)
frob

April 2019

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 18th, 2025 09:08 am
Powered by Dreamwidth Studios