Difference between revisions of "Education Project/Effort/Improve Scanner Use"

From Apache OpenOffice Wiki
Jump to: navigation, search
m (Mac OS X side)
Line 108: Line 108:
  
 
=== Interface description ===
 
=== Interface description ===
 +
 +
==== scanwin.cxx draft ====
 +
 +
===== Class and method ====
  
 
==== Offapi ====
 
==== Offapi ====

Revision as of 21:17, 27 March 2008

Draft :

Current Scanner implementation is .. hmm

Improve it is mandatory


Todo: analyse current implementation

Todo

  • document the existing extensions/source/scanner implementation
  • define tasks in the Team: (ericb, valeuf, Dyrcona )
  • document everything
  • play with Image Capture SDK  : create a little application,
  • test all features
  • design: classes, naming conventions, API description
  • define OpenOffice.org source code changes for new scanmacosx.cxx file, and it's compilation
  • file an issue about the new feature
  • define new specs
  • create a cws : explain the steps
  • start with new implementation (code and debug )
  • define tests to validate new features

Agenda

Imprpove Scanner Use on Mac OS X
Task week A week B week C week D week E week F Status Assigned to Comments
task1
task2
task3
task4
task5
task6
Write specs

Current design in OpenOffice.org

OpenOffice.org code location

extensions/source/scanner

[FIXME]: Twain interface should work on Mac OS X version of OpenOffice.org, and configure does accept 
--with-system-sane
--with-sane-headers 
command line options. Tests scheduled

Products built

All : scanner , scnserv

Windows( WNT) : scanwin

Other ( UNX or OS2 ) :

sane, sandlg scanunx and grid

Code documentation

See OpenOffice.org extensions/source/scanner source code documentation

Contains:

  • Class description
  • Methods description
  • some diagrams (inheritance)
  • source code

important: the documentation above has been generated using Doxygen, made with current code (from DEV300_m0)


Does not contain : libscn generation + build process, and Design about the Mac OS X lib

(FIXME )


scanner.cxx: uses libsane (3rd part library, must be installed separately). All system calls in libscn extension, are using SANE macros constants, while Apple does provide Twain blob for all scanners.

grid.*  : defines the look of the dialog box + the implementation.

To be done: thre is an existing Image Capture device, using Twain on Mac OS X. The idea is to bind with Image Capture device instead of the heavy SANE thing.

The Apple Image Capture SDK does contain code sample ( Model View Controler paradigm in objective C ( to be modified in objc++ )

Interface description

scanwin.cxx draft

= Class and method

Offapi

The complete interface is defined in (list to be confirmed ):

In OpenOffice.org source code :

offapi/com/sun/star/scanner

ScanError.idl

ScannerContext.idl

ScannerException.idl

ScannerManager.idl

XScannerManager.idl

offapi/com/sun/star/awt ( lot of references )

+Includes :

  • grid.cxx

cstdio, cmath, grid.hxx, /* stl, for ::std::sort */ algorithm ,

+ (from grid.hxx) : vcl/window.hxx, vcl/button.hxx, vcl/listbox.hxx, vcl/dialog.hxx

Dialog boxes

The dialog boxes are defined in :

extensions/source/scanner/sanedlg.src

extensions/source/scanner/grid.src


Implementation description

GridWindow


Important Links

Mac port Links

This work is part of http://wiki.services.openoffice.org/wiki/Mac_OS_X_Porting_-_Work_Areas/Todo%27s

Debug using Xcode (click me)

Aqua Roadmap



Mac OS X side

Links :

Accessing Hardware from Applications

Twain Mac

TN2088 / Twain Data Sources for Mac OS X

PDF : How use TWAIN (Direct link with a PDF)

Some specification to use TWAIN with Mac OS (Direct link with a pdf)

Image Capture Services Programming Guide for Carbon

SDK :

Apple Image SDK

Other :

Twain 2.0 specifications (draft)


Sane Project

Supported devices

Mac OS X Sane

Vuescan



Ericb 23:40, 5 October 2006 (CEST)

Personal tools