метафайлы 2

Apr 02, 2010 18:51

Переделал 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:

Previous post Next post
Up