mirror of
https://github.com/koreader/koreader.git
synced 2025-08-10 00:52:38 +00:00
Dev docs (#2730)
This commit is contained in:
committed by
Qingping Hou
parent
e8721887ba
commit
e217b99fa6
135
doc/Development guide.md
Normal file
135
doc/Development guide.md
Normal file
@@ -0,0 +1,135 @@
|
||||
# Development Guide
|
||||
|
||||
The whole frontend part of KOReader is scripted in [Lua](http://www.lua.org/about.html) programming language which means you can start development with just a decent text editor. Instructions about how to get and compile the source of the backend part on a linux OS are [here](https://github.com/koreader/koreader#building-prerequisites)
|
||||
|
||||
The source tree of frontend looks like this:
|
||||
```
|
||||
frontend
|
||||
├── apps
|
||||
│ ├── filemanager
|
||||
│ │ ├── filemanagerhistory.lua
|
||||
│ │ ├── filemanager.lua
|
||||
│ │ └── filemanagermenu.lua
|
||||
│ └── reader *
|
||||
│ ├── modules
|
||||
│ │ ├── readeractivityindicator.lua
|
||||
│ │ ├── readerbookmark.lua
|
||||
│ │ ├── readerconfig.lua
|
||||
│ │ ├── readercoptlistener.lua
|
||||
│ │ ├── readercropping.lua
|
||||
│ │ ├── readerdictionary.lua
|
||||
│ │ ├── readerdogear.lua
|
||||
│ │ ├── readerflipping.lua
|
||||
│ │ ├── readerfont.lua
|
||||
│ │ ├── readerfooter.lua
|
||||
│ │ ├── readerfrontlight.lua
|
||||
│ │ ├── readergoto.lua
|
||||
│ │ ├── readerhighlight.lua
|
||||
│ │ ├── readerhinting.lua
|
||||
│ │ ├── readerhyphenation.lua
|
||||
│ │ ├── readerkoptlistener.lua
|
||||
│ │ ├── readerlink.lua
|
||||
│ │ ├── readermenu.lua
|
||||
│ │ ├── readerpaging.lua
|
||||
│ │ ├── readerpanning.lua
|
||||
│ │ ├── readerrolling.lua
|
||||
│ │ ├── readerrotation.lua
|
||||
│ │ ├── readerscreenshot.lua
|
||||
│ │ ├── readertoc.lua
|
||||
│ │ ├── readertypeset.lua
|
||||
│ │ ├── readerview.lua
|
||||
│ │ └── readerzooming.lua
|
||||
│ ├── pluginloader.lua
|
||||
│ └── readerui.lua
|
||||
├── cacheitem.lua
|
||||
├── cache.lua
|
||||
├── configurable.lua
|
||||
├── dbg.lua
|
||||
├── docsettings.lua
|
||||
├── document *
|
||||
│ ├── credocument.lua
|
||||
│ ├── djvudocument.lua
|
||||
│ ├── document.lua
|
||||
│ ├── documentregistry.lua
|
||||
│ ├── koptinterface.lua
|
||||
│ ├── pdfdocument.lua
|
||||
│ ├── picdocument.lua
|
||||
│ └── tilecacheitem.lua
|
||||
├── gettext.lua
|
||||
├── JSON.lua
|
||||
├── optmath.lua
|
||||
└── ui
|
||||
├── data
|
||||
│ ├── creoptions.lua
|
||||
│ ├── koptoptions.lua
|
||||
│ └── strings.lua
|
||||
├── device
|
||||
│ ├── basepowerd.lua
|
||||
│ ├── kindlepowerd.lua
|
||||
│ ├── kobopowerd.lua
|
||||
│ └── screen.lua
|
||||
├── device.lua
|
||||
├── event.lua
|
||||
├── font.lua
|
||||
├── geometry.lua
|
||||
├── gesturedetector.lua
|
||||
├── gesturerange.lua
|
||||
├── input.lua
|
||||
├── language.lua
|
||||
├── rendertext.lua
|
||||
├── screen.lua
|
||||
├── timeval.lua
|
||||
├── uimanager.lua
|
||||
└── widget *
|
||||
├── bboxwidget.lua
|
||||
├── buttondialog.lua
|
||||
├── button.lua
|
||||
├── buttontable.lua
|
||||
├── closebutton.lua
|
||||
├── configdialog.lua
|
||||
├── confirmbox.lua
|
||||
├── container
|
||||
│ ├── bottomcontainer.lua
|
||||
│ ├── centercontainer.lua
|
||||
│ ├── framecontainer.lua
|
||||
│ ├── inputcontainer.lua
|
||||
│ ├── leftcontainer.lua
|
||||
│ ├── rightcontainer.lua
|
||||
│ ├── underlinecontainer.lua
|
||||
│ └── widgetcontainer.lua
|
||||
├── dictquicklookup.lua
|
||||
├── eventlistener.lua
|
||||
├── filechooser.lua
|
||||
├── fixedtextwidget.lua
|
||||
├── focusmanager.lua
|
||||
├── horizontalgroup.lua
|
||||
├── horizontalspan.lua
|
||||
├── iconbutton.lua
|
||||
├── imagewidget.lua
|
||||
├── infomessage.lua
|
||||
├── inputdialog.lua
|
||||
├── inputtext.lua
|
||||
├── linewidget.lua
|
||||
├── menu.lua
|
||||
├── notification.lua
|
||||
├── overlapgroup.lua
|
||||
├── progresswidget.lua
|
||||
├── rectspan.lua
|
||||
├── scrolltextwidget.lua
|
||||
├── textboxwidget.lua
|
||||
├── textwidget.lua
|
||||
├── toggleswitch.lua
|
||||
├── touchmenu.lua
|
||||
├── verticalgroup.lua
|
||||
├── verticalscrollbar.lua
|
||||
├── verticalspan.lua
|
||||
├── virtualkeyboard.lua
|
||||
└── widget.lua
|
||||
```
|
||||
in which you will find the asterisked `frontend/document`, `frontend/apps/reader` and `frontend/ui/widget` the most interesting parts.
|
||||
|
||||
### document: API for document parsing and rendering
|
||||
|
||||
### reader: reader functionality implementation
|
||||
|
||||
### widget: a light-weight widget toolkit
|
||||
Reference in New Issue
Block a user