[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: C-only poppler API



Here is a rough list of classes (and their methods), functions, and constants from poppler 0.4 that are currently being used by PopplerKit. (I think this is a more or less complete list. poppler doesn't use a prefix for their classes, so sometimes it's hard to spot them.)

GooString
  GooString(const char *)
PDFDoc
  PDFDoc(path_g, NULL, NULL);
  ~PDFDoc()
  isOK()
  getErrorCode()
  getNumPages()
  getXRef()
  getCatalog()
Catalog
  getPage(index)
globalParams
  globalParams(NULL)
  setupBaseFontsFc(NULL)
CairoOutputDev
  CairoOutputDev()
  ~CairoOutputDev()
  startDoc(XRef*)
  setSurface(cairo_surface_t *)
Page
  displaySlice(... long argument list ...)
  getRotate()
  getWidth()
  getHeight()
  display(... long argument list ...)
TextOutputDev
  TextOutputDev(NULL, use_phys_layout, use_raw_text_order, append)
  ~TextOutputDev()
  findText(...)
SplashOutputDev
  SplashOutputDev(splashModeRGB8, gFalse, white)
  ~SplashOutputDev()
  startDoc(XRef*)
  getBitmap()
SplashBitmap
  getWidth()
  getHeight()
  getDataPtr()
SplashColor
  rgb8
SplashRGB8
splashMakeRGB8
splashModeRGB8

Well, it seems like nobody in the GNUstep camp is able to give much insight into requirements for a stable API. My guess is that as long as upstream tries to keep these functions stable, and is able to provide porting help if something breaks, then we should be OK.

PopplerKit just needs to provide functionality to display and to search. It looks like that's all represented here, so I think that's all we really need.

Hubert



Reply to: