module Graphic2Pixmap(graphic2PixmapImage,PixmapImage(..)) where import DrawCompiledGraphics(drawK') import MeasuredGraphics(compileMG) import Graphic import PixmapGen import Pixmap(createPixmap) import LayoutRequest(minsize) import XDraw import ResourceIds(copyFromParent) import FixedDrawing import FudgetIO import NullF() -- instance FudgetIO K graphic2PixmapImage g gctx cont = measureGraphicK g gctx $ \ mg -> convToPixmapK mg cont measuredGraphics2Pixmap mg cont = let (cg,req) = compileMG id mg size = minsize req in createPixmap size copyFromParent $ \ pm -> drawK' (Pixmap pm) (undefined,const []) (const []) cg $ cont (PixmapImage size pm) instance PixmapGen MeasuredGraphics where convToPixmapK = measuredGraphics2Pixmap instance PixmapGen FixedColorDrawing where convToPixmapK (FixCD size gcdcmds) cont = createPixmap size copyFromParent $ \ pm -> putLow (pmDrawMany pm gcdcmds) $ cont (PixmapImage size pm)