Commit Graph

16 Commits

Author SHA1 Message Date
Norman Feske 1a833ebd30 Allow for overriding time-related libc functions
If using the libc for Noux programs, the default implementation of these
functions cannot be used because they rely on a dedicated
timeout-scheduler thread. Noux programs, however, are expected to
contain only the main thread. By turning the functions into weak
symbols, the noux libc-plugin can provide custom implementations.
2012-02-23 10:42:11 +01:00
Julian Stecklina c7890c9423 Set ENOSYS for all libc dummies
This is a brute-force approach to issue #102. This might be a bit too
much. I don't know if we can clobber errno for all of those?
2012-02-14 16:44:43 +01:00
Norman Feske 3c09a06620 Interactive browsing through a PDF
This patch introduces the basic key handling required to browse through
a multi-page PDF document ([page-up] or [enter] -> next page,
[page-down] or [backspace] -> previous page).
2012-02-14 16:44:42 +01:00
Norman Feske ea8b113303 Moved code from main into 'Pdf_view' class
This way, we can register a meaningful 'user_data' pointer to at the
'pdfapp_t' structure and avoid the use of singletons for 'Framebuffer'
and 'pdfapp'.
2012-02-14 16:44:42 +01:00
Norman Feske 810654f45b Let MuPDF render a single page of a PDF document 2012-02-14 16:44:42 +01:00
Norman Feske 8201075671 Initial port of MuPDF application
This version of MuPDF will use Genode's framebuffer session and input
session to display a PDF file. At the current stage, the program is
merely a skeleton that compiles and starts. Neither the actual rendering
not the response to user input are implemented. To try it out, there
is a ready-to-use run script at 'libports/run/mupdf.run'.
2012-02-14 16:44:42 +01:00
Norman Feske 54cb49583b Libc plugin for using file I/O on ROM dataspaces 2012-02-14 16:44:42 +01:00
Norman Feske 9e3ecade16 Replace Framebuffer::info by Framebuffer::mode
As a preliminary step for working on issue #11, this patch revisits the
'Framebuffer::info' RPC call. Instead of using C-style out paramters,
the new 'mode()' RPC call returns the mode information as an object of
type 'Mode'. Consequently, mode-specific functions such as
'bytes_per_pixel' have been moved to the new 'Framebuffer::Mode' class.
2012-01-25 13:27:47 +01:00
Julian Stecklina 1db46a2345 Parameter passing to libc's open and fcntl, fix #73
By including the relevant headers, this problem is prevented in the
future because the compiler will complain.
2012-01-12 09:17:36 +01:00
Julian Stecklina 3c54d39307 Provide a default implementation of chdir, fix #68
The default implementation relies on the sequence open, fchdir, close.
Enable this implementation for the Noux libc plugin.
2012-01-12 09:17:14 +01:00
Norman Feske 8cb27e2813 Let tcgetattr succeed for libc_log
At the startup of python's termios module, a sequence of 'tcgetattr' and
'tcsetattr' calls is executed. If one of those calls fails, the
initialization gets canceled. 'tcgetattr' is implemented via ioctl
operations on stdout. To let those operations succeed, the default
implementation of ioctl ('Plugin::ioctl') cannot be used because it
returns -1. Adding a dummy ioctl to the libc_log back end alleviates
this problem.
2012-01-06 19:07:34 +01:00
Norman Feske c4adddb6b7 Add libc/compat to libc, fix #63 2012-01-06 13:21:29 +01:00
Norman Feske 08ce32215d Bump year in copyright headers to 2012 2012-01-03 15:35:05 +01:00
Norman Feske 326a2483f0 Add openjpeg, jbig2dec, and mupdf to libports
MuPDF is a fast and versatile PDF rendering library with only a few
dependencies. It depends on openjpeg (JPEG2000 codec) and jbig2dec (b/w
image compression library). Therefore, this patch comprises the ports of
these libraries as well. All libraries compile well in the Genode build
system but are not tested yet.
2012-01-02 17:09:18 +01:00
Norman Feske d09c7e699e Direct _ioctl to libc plugin interface
Removed dummy implementation of '_ioctl'. This function is called
internally within the libc, i.e., by 'tcgetattr'. For running
libreadline in Noux, we need to hook into those ioctl operations via
the libc plugin interface.
2012-01-02 17:09:18 +01:00
Genode Labs da4e1feaa5 Imported Genode release 11.11 2011-12-22 16:19:25 +01:00