module Text.Sundown.Html.Foreign
( HtmlRenderMode (..)
, sdhtml_renderer
, sdhtml_smartypants
) where
import Foreign
import Foreign.C.String
import Foreign.C.Types
import Text.Sundown.Buffer.Foreign
import Text.Sundown.Flag
import Text.Sundown.Foreign
data HtmlRenderMode = HtmlRenderMode
{ htmlSkipHtml :: Bool
, htmlSkipStyle :: Bool
, htmlSkipImages :: Bool
, htmlSkipLinks :: Bool
, htmlExpandTabs :: Bool
, htmlSafelink :: Bool
, htmlToc :: Bool
, htmlHardWrap :: Bool
, htmlUseXhtml :: Bool
, htmlEscape :: Bool
}
instance Flag HtmlRenderMode where
flagIndexes mode = [ (1, htmlSkipHtml mode)
, (2, htmlSkipStyle mode)
, (4, htmlSkipImages mode)
, (8, htmlSkipLinks mode)
, (16, htmlExpandTabs mode)
, (32, htmlSafelink mode)
, (64, htmlToc mode)
, (128, htmlHardWrap mode)
, (256, htmlUseXhtml mode)
, (512, htmlEscape mode)
]
data HtmlRenderOptions
instance Storable HtmlRenderOptions where
sizeOf _ = ((20))
alignment _ = alignment (undefined :: Ptr ())
peek _ = error "HtmlRenderopt.peek is not implemented"
poke _ = error "HtmlRenderopt.poke is not implemented"
sdhtml_renderer
:: Ptr Callbacks -> Ptr HtmlRenderOptions -> HtmlRenderMode -> IO ()
sdhtml_renderer rndr options mode = sdhtml_renderer' rndr options (toCUInt mode)
foreign import ccall "html.h sdhtml_renderer"
sdhtml_renderer' :: Ptr Callbacks -> Ptr HtmlRenderOptions -> CUInt -> IO ()
foreign import ccall "html.h sdhtml_smartypants"
sdhtml_smartypants :: Ptr Buffer -> CString -> CSize -> IO ()