Showing preview only (4,102K chars total). Download the full file or copy to clipboard to get everything.
Repository: crossbowerbt/dillo-plus
Branch: main
Commit: 7d093e6bddcb
Files: 398
Total size: 3.8 MB
Directory structure:
gitextract_l67l6en_/
├── AUTHORS
├── COPYING
├── ChangeLog
├── Doxyfile
├── Makefile
├── Makefile.options
├── Makefile.options.Linux
├── Makefile.options.Linux.Wayland
├── Makefile.options.MacOS
├── Makefile.options.OpenBSD
├── NEWS
├── README
├── README.md
├── bm.txt
├── config.h
├── d_size.h
├── devdoc/
│ ├── CCCwork.txt
│ ├── Cache.txt
│ ├── Dillo.txt
│ ├── Dpid.txt
│ ├── HtmlParser.txt
│ ├── IO.txt
│ ├── Images.txt
│ ├── NC_design.txt
│ ├── README
│ ├── dw-changes.doc
│ ├── dw-fixed-positions.doc
│ ├── dw-grows.doc
│ ├── dw-images-and-backgrounds.doc
│ ├── dw-interrupted-drawing.doc
│ ├── dw-layout-views.doc
│ ├── dw-layout-widgets.doc
│ ├── dw-line-breaking.doc
│ ├── dw-map.doc
│ ├── dw-miscellaneous.doc
│ ├── dw-out-of-flow-floats.doc
│ ├── dw-out-of-flow-positioned.doc
│ ├── dw-out-of-flow.doc
│ ├── dw-overview.doc
│ ├── dw-size-request-pos-01.html
│ ├── dw-size-request-pos.doc
│ ├── dw-stacking-context.doc
│ ├── dw-usage.doc
│ ├── dw-widget-sizes.doc
│ ├── fltk-problems.doc
│ ├── index.doc
│ ├── lout.doc
│ ├── rounding-errors.doc
│ └── uml-legend.doc
├── dillo-install-hyphenation
├── dillorc
├── dist/
│ ├── Makefile
│ └── dillo-plus.desktop
├── dlib/
│ ├── Makefile
│ ├── dlib.c
│ └── dlib.h
├── doc/
│ ├── Cookies.txt
│ ├── Makefile
│ ├── README
│ ├── manpage.1.in
│ └── user_help.html
├── dpi/
│ ├── Makefile
│ ├── bookmarks.c
│ ├── cookies.c
│ ├── datauri.c
│ ├── datauri.c.orig
│ ├── downloads.cc
│ ├── dpiutil.c
│ ├── dpiutil.h
│ ├── file.c
│ ├── fileutil.c
│ ├── fileutil.h
│ ├── ftp.c
│ ├── gemini.c
│ ├── gopher.c
│ ├── hello.c
│ ├── man.c
│ ├── vsource.c
│ └── zip.c
├── dpid/
│ ├── Makefile
│ ├── TODO
│ ├── dpi.c
│ ├── dpi.h
│ ├── dpi_socket_dir.c
│ ├── dpi_socket_dir.h
│ ├── dpid-plus.c
│ ├── dpid-plus.h
│ ├── dpid_common.c
│ ├── dpid_common.h
│ ├── dpidc-plus.c
│ ├── dpidrc.in
│ ├── main.c
│ ├── main.c.orig
│ ├── misc_new.c
│ └── misc_new.h
├── dpip/
│ ├── Makefile
│ ├── dpip.c
│ └── dpip.h
├── dw/
│ ├── Makefile
│ ├── alignedtablecell.cc
│ ├── alignedtablecell.hh
│ ├── alignedtextblock.cc
│ ├── alignedtextblock.hh
│ ├── bullet.cc
│ ├── bullet.hh
│ ├── core.hh
│ ├── events.hh
│ ├── findtext.cc
│ ├── findtext.hh
│ ├── fltkcomplexbutton.cc
│ ├── fltkcomplexbutton.hh
│ ├── fltkcore.hh
│ ├── fltkflatview.cc
│ ├── fltkflatview.hh
│ ├── fltkimgbuf.cc
│ ├── fltkimgbuf.hh
│ ├── fltkmisc.cc
│ ├── fltkmisc.hh
│ ├── fltkplatform.cc
│ ├── fltkplatform.hh
│ ├── fltkpreview.cc
│ ├── fltkpreview.hh
│ ├── fltkui.cc
│ ├── fltkui.hh
│ ├── fltkviewbase.cc
│ ├── fltkviewbase.hh
│ ├── fltkviewport.cc
│ ├── fltkviewport.hh
│ ├── hyphenator.cc
│ ├── hyphenator.hh
│ ├── image.cc
│ ├── image.hh
│ ├── imgbuf.hh
│ ├── imgrenderer.cc
│ ├── imgrenderer.hh
│ ├── iterator.cc
│ ├── iterator.hh
│ ├── layout.cc
│ ├── layout.hh
│ ├── listitem.cc
│ ├── listitem.hh
│ ├── oofawarewidget.cc
│ ├── oofawarewidget.hh
│ ├── oofawarewidget_iterator.cc
│ ├── ooffloatsmgr.cc
│ ├── ooffloatsmgr.hh
│ ├── oofposabslikemgr.cc
│ ├── oofposabslikemgr.hh
│ ├── oofposabsmgr.cc
│ ├── oofposabsmgr.hh
│ ├── oofposfixedmgr.cc
│ ├── oofposfixedmgr.hh
│ ├── oofpositionedmgr.cc
│ ├── oofpositionedmgr.hh
│ ├── oofposrelmgr.cc
│ ├── oofposrelmgr.hh
│ ├── outofflowmgr.cc
│ ├── outofflowmgr.hh
│ ├── platform.hh
│ ├── preview.xbm
│ ├── regardingborder.cc
│ ├── regardingborder.hh
│ ├── ruler.cc
│ ├── ruler.hh
│ ├── selection.cc
│ ├── selection.hh
│ ├── simpletablecell.cc
│ ├── simpletablecell.hh
│ ├── stackingcontextmgr.cc
│ ├── stackingcontextmgr.hh
│ ├── style.cc
│ ├── style.hh
│ ├── table.cc
│ ├── table.hh
│ ├── table_iterator.cc
│ ├── tablecell.cc
│ ├── tablecell.hh
│ ├── textblock.cc
│ ├── textblock.hh
│ ├── textblock_iterator.cc
│ ├── textblock_linebreaking.cc
│ ├── tools.cc
│ ├── tools.hh
│ ├── types.cc
│ ├── types.hh
│ ├── ui.cc
│ ├── ui.hh
│ ├── view.hh
│ ├── widget.cc
│ └── widget.hh
├── install-dpi-local
├── install-sh
├── lout/
│ ├── Makefile
│ ├── container.cc
│ ├── container.hh
│ ├── debug.hh
│ ├── debug_rtfl.hh
│ ├── identity.cc
│ ├── identity.hh
│ ├── misc.cc
│ ├── misc.hh
│ ├── msg.h
│ ├── object.cc
│ ├── object.hh
│ ├── signal.cc
│ ├── signal.hh
│ ├── unicode.cc
│ └── unicode.hh
├── pkgs/
│ └── obsd/
│ ├── +DESC
│ ├── +REQUIRING
│ ├── Makefile
│ └── gen_contents.sh
├── src/
│ ├── IO/
│ │ ├── IO.c
│ │ ├── IO.h
│ │ ├── Makefile
│ │ ├── Url.h
│ │ ├── about.c
│ │ ├── dpi.c
│ │ ├── http.c
│ │ ├── iowatch.cc
│ │ ├── iowatch.hh
│ │ ├── mime.c
│ │ ├── mime.h
│ │ ├── proto.c
│ │ ├── tls.c
│ │ └── tls.h
│ ├── Makefile
│ ├── auth.c
│ ├── auth.h
│ ├── binaryconst.h
│ ├── bitvec.c
│ ├── bitvec.h
│ ├── bm.txt
│ ├── bookmark.c
│ ├── bookmark.h
│ ├── bw.c
│ ├── bw.h
│ ├── cache.c
│ ├── cache.h
│ ├── capi.c
│ ├── capi.h
│ ├── chain.c
│ ├── chain.h
│ ├── chg
│ ├── colors.c
│ ├── colors.h
│ ├── cookies.c
│ ├── cookies.h
│ ├── css.cc
│ ├── css.hh
│ ├── cssparser.cc
│ ├── cssparser.hh
│ ├── decode.c
│ ├── decode.h
│ ├── dgif.h
│ ├── dialog.cc
│ ├── dialog.hh
│ ├── dicache.c
│ ├── dicache.h
│ ├── digest.c
│ ├── digest.h
│ ├── dillo-plus.cc
│ ├── djpeg.h
│ ├── dns.c
│ ├── dns.h
│ ├── doctree.hh
│ ├── domain.c
│ ├── domain.h
│ ├── domainrc
│ ├── dpiapi.c
│ ├── dpiapi.h
│ ├── dpng.h
│ ├── findbar.cc
│ ├── findbar.hh
│ ├── form.cc
│ ├── form.hh
│ ├── gif.c
│ ├── history.c
│ ├── history.h
│ ├── hsts.c
│ ├── hsts.h
│ ├── hsts_preload
│ ├── html.cc
│ ├── html.hh
│ ├── html_charrefs.h
│ ├── html_common.hh
│ ├── image.cc
│ ├── image.hh
│ ├── imgbuf.cc
│ ├── imgbuf.hh
│ ├── jpeg.c
│ ├── keys.cc
│ ├── keys.hh
│ ├── keysrc
│ ├── klist.c
│ ├── klist.h
│ ├── list.h
│ ├── md5.c
│ ├── md5.h
│ ├── menu.cc
│ ├── menu.hh
│ ├── misc.c
│ ├── misc.h
│ ├── msg.h
│ ├── nav.c
│ ├── nav.h
│ ├── paths.cc
│ ├── paths.hh
│ ├── pixmaps.alt.h
│ ├── pixmaps.h
│ ├── pixmaps_classic.h
│ ├── plain.cc
│ ├── png.c
│ ├── prefs.c
│ ├── prefs.h
│ ├── prefsparser.cc
│ ├── prefsparser.hh
│ ├── srch
│ ├── styleengine.cc
│ ├── styleengine.hh
│ ├── table.cc
│ ├── table.hh
│ ├── timeout.cc
│ ├── timeout.hh
│ ├── tipwin.cc
│ ├── tipwin.hh
│ ├── ui.cc
│ ├── ui.hh
│ ├── uicmd.cc
│ ├── uicmd.hh
│ ├── url.c
│ ├── url.h
│ ├── utf8.cc
│ ├── utf8.hh
│ ├── web.cc
│ ├── web.hh
│ ├── xembed.cc
│ └── xembed.hh
├── style.css
├── style.css.orig.full
├── style_reader_mode.css
├── test/
│ ├── Anna_Karenina_1.html
│ ├── KHM1-shy.html
│ ├── KHM1.html
│ ├── KHM1b.html
│ ├── KHM1c.html
│ ├── Makefile
│ ├── anchors.html
│ ├── containers.cc
│ ├── cookies.c
│ ├── dw_anchors_test.cc
│ ├── dw_border_test.cc
│ ├── dw_example.cc
│ ├── dw_find_test.cc
│ ├── dw_float_test.cc
│ ├── dw_image_background.cc
│ ├── dw_images_scaled.cc
│ ├── dw_images_scaled2.cc
│ ├── dw_images_simple.cc
│ ├── dw_imgbuf_mem_test.cc
│ ├── dw_links.cc
│ ├── dw_links2.cc
│ ├── dw_lists.cc
│ ├── dw_resource_test.cc
│ ├── dw_simple_container.cc
│ ├── dw_simple_container.hh
│ ├── dw_simple_container_test.cc
│ ├── dw_table.cc
│ ├── dw_table_aligned.cc
│ ├── dw_ui_test.cc
│ ├── floats-and-absolute.html
│ ├── floats-and-margins.html
│ ├── floats-table.html
│ ├── floats-worm.html
│ ├── floats1.html
│ ├── floats2.html
│ ├── floats3.html
│ ├── floats4.html
│ ├── floats5.html
│ ├── form.cc
│ ├── form.hh
│ ├── hyph-de-1996.pat
│ ├── hyph-en-us.pat
│ ├── hyphenate-nbsp.html
│ ├── hyphens-etc.html
│ ├── identity.cc
│ ├── lang.html
│ ├── liang.cc
│ ├── notsosimplevector.cc
│ ├── shapes.cc
│ ├── table-1.html
│ ├── table-h1.html
│ ├── table-narrow.html
│ ├── table-thead-tfoot.html
│ ├── trie.cc
│ ├── unicode_test.cc
│ └── white-space.html
└── test_files/
└── page.gmi
================================================
FILE CONTENTS
================================================
================================================
FILE: AUTHORS
================================================
_________________________________________________________________
Dillo project's team
_________________________________________________________________
Project maintainer:
* Jorge Arellano Cid
Core Developers:
* Jorge Arellano Cid
* Sebastian Geerken
* Johannes Hofmann
* Place (aka corvid)
* Luca Rota
Steady developers:
* Livio Baldini
* Eric Gaudet
* Jeremy Henty
* Jrgen Viksell
Contributors:
* Lars Clausen
* Ferdi Franceschini
* Matthias Franz
* Geoff Lane
* Sammy Mannaert
* James McCollough
* Justus Winter
Patches:
* Philip Blundell
* Francis Daly
* Sam Dennis
* Melvin Hadasht
* Madis Janson
* Frank de Lange
* Andrew McPherson
* Sean 'Shaleh' Perry
* Marcos Ramrez
* Adam Sampson
* Andreas Schweitzer
* Dominic Wong
_________________________________________________________________
Web site logo:
* Eric Gaudet
* Jarrod Henry
Gzilla author:
* Raph Levien
_________________________________________________________________
-------------------
Up to gzilla-0.1.7:
-------------------
Raph Levien <raph@acm.org> is the author of gzilla.
Christoph Thompson <obituary@freshmeat.net> and Tomas O"gren <stric@ing.umu.se>
added pixmaps for the buttons and the code encessary to make them work.
They also reorganized the source tree and gave general advice and tips.
(Tomas will be pleased to find that my personal bookmarks file is no longer
hard-coded into Gzilla. :))
Ian Main <slow@intergate.bc.ca> did the bookmarks.
Thanks to Otto Hammersmith, David Mosberger-Tang, and Peter Mattis for
patches.
Contributions are always welcome!
---------------
Non-Dillo code:
---------------
* dw/fltkcomplexbutton.(cc|hh) contain code from the FLTK project whose
copyright is held by Bill Spitzak and others.
* src/binaryconst.h contains code by Tom Torfs that the author placed in the
public domain.
* src/md5.[ch] contain code by L. Peter Deutsch whose copyright is held by
Aladdin Enterprises.
* src/tipwin.cc contains code by Greg Ercolano.
================================================
FILE: COPYING
================================================
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
================================================
FILE: ChangeLog
================================================
=============================================================================
Dillo project
=============================================================================
Here we list changes that are relatively significant and/or visible to the
user. For a history of changes in full detail, see our Mercurial repository
at http://hg.dillo.org/dillo
dillo-3.1 [not released yet]
+- Floating elements.
- Redesign of widget sizes ("GROWS").
- Applied CSS attribute 'width' to all elements, 'height' is now also
supported.
- Suport for 'min-width', 'max-width', 'min-height' and 'max-height'.
- Suport for 'display: inline-block'.
- <BUTTON>'s are now inline.
- Image aspect ratio is preserved when one dimension is specified by a
percentage value.
- New dillorc options 'adjust_min_width' and 'adjust_table_min_width'.
- Make building of test/ files more robust.
- Work on collapsing spaces: more cases supported.
- Fix crash that's possible searching for text while page still being built.
Patches: Sebastian Geerken
+- HTML5 character references.
- Give images lower priority when requesting resources (responsiveness).
- Reuse of connections for HTTP (disable w/ http_persistent_conns in dillorc).
- Abort failed queries.
- HTTP Strict Transport Security (disable with http_strict_transport_security
preference in dillorc).
- Fix bug when closing popup using window manager (bug introduced in 3.0.3).
- Block mixed content.
- Improve cookies date recognition.
- use mbed TLS ( https://tls.mbed.org/ )
- Iterate through the IP addrs for a host when trying to connect().
Patches: corvid
+- Doxygen fixes.
Patch: Jeremy Henty
+- Move HTTPS from dpi into the browser, enable SNI, check more locations for
CA bundles and add --with-ca-certs-file and --with-ca-certs-dir to
configure, some improvement to security warning popups, etc.
Patch: corvid, Benjamin Johnson
+- Fix bookmarks DPI crash.
- Fix OSX compilation issue with xembed.
Patches: Johannes Hofmann
-----------------------------------------------------------------------------
dillo-3.0.5 [June 30, 2015]
+- Image buffer/cache improvements.
- Fix for segfault when there's no dpid and view source is requested.
- Fix view-source dpi to handle null characters correctly.
- Made view-source dpi use CSS formatting (it's shorter and cleaner).
Patches: Jorge Arellano Cid
+- Crosscompile/buildroot-friendly fltk-config test.
Patch: Peter Seiderer
+- Fix X11 icon name.
- In location bar, tend toward showing beginning of URL instead of end.
- Handle irix's version of vsnprintf().
- INPUT, TEXTAREA placeholder attribute.
- Better notification when user's domainrc settings block page redirection.
- Fix bug with font_factor preference and CSS font-size:(larger|smaller).
- Recognize Menu key in keysrc.
- HTTPS: change cipher list to "ALL:!aNULL:!eNULL:!LOW:!EXPORT40:!RC4",
disable SSL3, disable TLS compression.
Patches: corvid
+- Avoid requesting background images if an ancestor has display:none.
- Ignore built-in search url if any are specified in dillorc.
Patches: Johannes Hofmann
-----------------------------------------------------------------------------
dillo-3.0.4.1 [December 24, 2014]
+- Avoid a corner case segfault when no search URL is found in dillorc.
Patch: Sebastian Geerken, Jorge Arellano
+- Fix linking problem with fltk-1.3.3 and fl_oldfocus.
- Don't follow redirections or meta refresh in --local mode.
Patches: Jorge Arellano Cid
+- Don't load background images in --local mode.
- Make sure window is resizable with fltk-1.3.3.
Patches: Johannes Hofmann
+- Remove Fl_Printer stub that always gave problems compiling under OSX.
Patch: corvid
-----------------------------------------------------------------------------
dillo-3.0.4 [April 09, 2014]
+- OPTGROUP and INS elements.
- Some HTML5 elements, etc.
- Added show_ui_tooltip preference (BUG#1140).
Patches: corvid
+- Make embedding into other applications more reliable (BUG#1127).
- Add search from address bar.
- Share CSS user agent stylesheet between pages.
Patches: Johannes Hofmann
+- Better scaling (down) of images, even with consideration of gamma
correction.
- Fixed (possibly security) problem of FltkImgBuf caused by integer overflow
(BUG#1129).
- Some linebreaking fixes, and optimization for non-justified text, including
new preference stretchability_factor.
- Added white_bg_replacement preference.
- Implemented background images (except 'background-attachment'), added
load_background_images preference, as well as a new entry in the tools menu.
Patches: Sebastian Geerken
+- Fix a set of bugs reported by Oulu Univ. Secure Programming Group
(HTML parsing, URL resolution, GIF processing, etc.)
- Improved/fixed handling of HEAD, TITLE, TEXTAREA and form inputs.
- Made show_url dillorc option work again (BUG#1128)
Patches: Jorge Arellano Cid
+- Fix compiling on Hurd.
Patch: Pino Toscano
+- Avoid Dpid children becoming zombies.
Patch: Jorge Arellano, J. Gaffney
+- HTML5 WBR element.
- Fix compiling on IRIX with MIPSpro compiler.
Patches: corvid, Sebastian Geerken
-----------------------------------------------------------------------------
dillo-3.0.3 [April 17, 2013]
+- Support for CSS display property
- Replace polling in DNS with a pipe.
- Packed trie to optimize hyphenator memory consumption.
- Fix crash in datauri dpi.
- Speed up DNS requests when ipv6 isn't enabled.
Patches: Johannes Hofmann
+- Fix image input coordinates (BUG#1070)
- When location bar is given focus, temporarily show panels if hidden
(BUG#1093).
- Fix bug where data URI has charset but no media type.
- Bug meter line number fix for bare carriage returns.
- Add some more info to various bug meter messages.
- For text selection, fix releasing mouse button outside of boundary.
- While selecting text, moving cursor outside viewport will scroll it.
- Make form resetting work for <select>.
- Never leave location bar empty when requesting page (BUG#1113).
- Some improvements to tab navigation of form widgets (includes BUG#1111).
- Don't let form input widget insert literal control chars (BUG#1110).
- Assorted improvements to browser usability from the keyboard.
- Added user interface color preferences (ui_*).
- Removed show_url preference.
Patches: corvid
+- Automatic hyphenation (includes penalty_* preferences that control
line-breaking).
Patch: Sebastian Geerken
+- Added the "view-source" keybinding (default: Ctrl-U).
Patch: Alexander Voigt
+- Introduced the domainrc mechanism for finer-grained control than
filter_auto_requests had provided.
Patch: p37sitdu, corvid
+- After focusing option menu, keypress will seek to next one beginning with
that character.
- When active tab is closed, focus the last one visited or opened.
- Fixed a bug in dpip when dillo aborts a running dpi connection.
Patches: Jorge Arellano Cid
+- Better window titles.
- Show dialog if saved file would overwrite an existing one.
Patches: Jeremy Henty
+- Remove hardcoded UI colors.
Patch: Benjamin Johnson, corvid
+- Fix fd leak in dpi write failure case.
Patch: p37sitdu, Jorge Arellano Cid
-----------------------------------------------------------------------------
dillo-3.0.2 [December 05, 2011]
+- Digest authentication
Patch: Justus Winter, corvid
+- text-transform property
- If not following redirection, show body of redirecting page.
- Middle click on stylesheet menu item opens in new tab/window.
- Improve handling of combining characters.
- Locale-independent ASCII character case handling (fixes Turkic locales).
Patches: corvid
+- Rework line breaking and fix white-space:nowrap handling.
Patch: Johannes Hofmann
+- Bind Ctrl-{PageUp,PageDown} to tab-{previous,next}.
Patch: Jeremy Henty
-----------------------------------------------------------------------------
dillo-3.0.1 [September 21, 2011]
+- Add preference for UI theme.
- Allow key bindings for paging left/right.
- Privacy -- never send cookies when making third-party requests, and
never accept cookies in the responses to these requests.
Patches: corvid
+- Add show_quit_dialog dillorc option.
Patch: Johannes Hofmann
-----------------------------------------------------------------------------
dillo-3.0 [September 06, 2011]
+- Ported Dillo to FLTK-1.3.
Patch: corvid, Johannes Hofmann, Jorge Arellano Cid
+- Rewrote the User Interface: much simpler design and event handling.
- Avoid double render after going Back or Forward (takes half the time now!).
- Added on-the-fly panel resize (tiny/small/medium and normal/small icons).
- Implemented a custom tabs handler (to allow fine control of it).
- Rewrote dw's crossing-events dispatcher (avoids redundant events).
- Fixed a years old bug: stamped tooltips when scrolling with keyboard.
- Allow multiple search engines to be set in dillorc, with a menu in the web
search dialog to select between them.
- Added an optional label to dillorc's search_url. Format: "[<label> ]<url>"
- Fixed a border case in URL resolver: empty path + {query|fragment} (BUG#948)
- Avoid a certificate dialog storm on some HTTPS sites (BUG#868).
- Cancel the expected URL after offering a download (BUG#982)
- Default binding for close-all changed from Alt-q to Ctrl-q.
- Default binding for close-tab changed from Ctrl-q to Ctrl-w.
- Add right_click_closes_tab preference (default is middle click).
- 'hide-panels' key action now hides the findbar if present, and toggles
display of the control panels otherwise.
- Removed 'large' option of panel_size preference.
- Remove 'fullscreen' key action.
- Eliminated a pack of 22 compiler warnings (gcc-4.6.1 amd64)
- Lots of minor bug-fixes.
Patches: Jorge Arellano Cid
+- Remove --enable-ansi configure option.
- Limit saved cookie size.
- Allow binding to non-ASCII keys and multimedia keys.
- Enable line wrapping for <textarea>. (BUG#903)
- Wrap image alt text.
Patches: corvid
+- Add support for CSS adjacent sibling selectors.
- Collapse parent's and first child's top margin.
- Fix redraw loops and reenable limit_text_width dillorc option.
Patch: Johannes Hofmann
+- Default binding for left-tab changed to Shift-Ctrl-Tab.
Patch: Jeremy Henty
-----------------------------------------------------------------------------
dillo-2.2.1 [July 18, 2011]
+- Fix fullwindow start.
- Implemented "View source" as a dpi.
- Fix: vsource html, fix entities display, indentation.
- Accept application/xhtml+xml.
- Small caps support.
- Border-collapse, border-style properties.
- Removed gcc warnings for 64bit
Patches: Jorge Arellano Cid
+- Configurable User-Agent HTTP header.
Patch: Alexander Voigt, corvid
+- Include Accept header in HTTP queries.
- Work with libpng-1.4.
- Handle zero-width space.
- Fix segfault closing window from WM.
- Limit total number of cookies.
- Use the suffix/subdomain field in cookies.txt.
- Follow most specific matching rule in cookiesrc.
- Fix segfault with form inputs and repush for stylesheets.
- Handle white-space: pre-wrap and pre-line.
- Support for the word-spacing property.
- Fix segfault with https and self-signed certificates.
- Text-indent property.
Patches: corvid
+- Reintroduce bg_color dillorc option.
- Make Dillo compile with Clang.
- Fix Textblock flushing.
- Support !important in style attributes.
Patches: Johannes Hofmann
+- Implement line-height.
- Draw image maps when image not loaded.
Patches: Johannes Hofmann, corvid
+- Support @media rules.
- Implement media-conditional @import rules.
- Configure/Makefile cleanup.
- Fix meta refresh looping.
Patches: Jeremy Henty
-----------------------------------------------------------------------------
dillo-2.2 [Feb 11, 2010]
+- Added keybindings for scrolling.
- Help button and local help file.
Patches: corvid, Jorge Arellano Cid
+- Add support for multiple class names in CSS.
- Fix X11 coordinate overflows with huge borders.
- Improve CSS font parsing.
- Enable font face setting via <font> element.
- Ignore XML comment markers in CSS.
- Split up long lines in plain.cc to avoid X11 coordinate overflows.
- Fix user agent style for nested <ul>.
- Add support for CSS property list-style-position.
- Support border-width: thin | medium | thick.
- Fix CSS_SHORTHAND_DIRECTIONS case in CssParser.
- Add quirk to reset font properties in tables (fixes e.g. gmail).
Patches: Johannes Hofmann
+- Cleaned up system includes in dpid directory.
- Fixed CustProgressBox() for systems without weak symbols.
- Handle signed chars. Added dIsspace() and dIsalnum() to dlib.
- Added a_Dpip_get_attr_l() to DPIP's API.
- Changed the CCCs to build in one step (for both HTTP and DPI). This
is simpler and helps to avoid race conditions.
- Updated CCCwork.txt to the new scheme.
- Fixed a bug with OPTION element (it was parsing entities twice).
- Bugfix: remove the empty cache entry lingering after connection abort.
- Switched capi to use dlib's Dlist instead of a_List_* methods.
- Remove empty cache entries on Stop-button press and new link request!
- Fixed URL unescaping in the datauri DPI.
- Changed and reimplemented the DPI API.
* Fixed bugs and updated all DPI programs:
* Reimplemented the file dpi using select(). No pthreads-based anymore.
* Fixed ftp dpi: downloads, streamed transfer, error feedback.
* Fixed a bug in dillo with lingering cache entries.
* Made dpidc a C language program.
* Made the internal dsh implementation use unique functions for read/write.
* Removed the write/fwrite mix in DPIP.
* Made the DPIP API token-based. Packet assembling is coded inside DPIP!
* Several cleanups and more error handling sprinkled all over too.
Patches: Jorge Arellano Cid
+- Fix segfault from AREA when MAP is missing name attribute.
- Fix image map coordinates when margin/border/padding present.
- Handle stylesheet @charset.
- Fix cache segfault when cache entry removed.
- Split words that contain whitespace as numeric character references.
- Allow linebreaks around Chinese/Japanese characters.
- Fix segfault in Html_parse_doctype (BUG#918).
- Change exit code used for bad command line argument.
- By default, do not use proxy for localhost (BUG 921).
- Fix scrolling for text search.
- Added 'save' key action (not bound by default).
- Tooltips
- Fix segfault when radio button lacks name attribute.
- Enable popup menu below bottom of page content (BUG#856).
- Handle JPEGs with CMYK color space.
- Allow keysyms in keysrc.
- Explicitly check installation bindir for dpid (BUG 930)
- General cookies overhaul.
Patches: corvid
+- Support for the letter-spacing property.
Patch: Johannes Hofmann, corvid
+- Fixed a bug in w3c_mode. In fact it wasn't working at all.
- Improve stylesheet menu.
Patches: Jeremy Henty
+- Limit number of simultaneous connections (BUG 685).
Patch: Johannes Hofmann, Jorge Arellano Cid
-----------------------------------------------------------------------------
dillo-2.1.1 [Jul 3, 2009]
+- Add additional size checks for images.
Patch: Jorge Arellano Cid, Johannes Hofmann, corvid
+- Fixed a bug in parsing RGB color values (CSS).
- Added support for css colors of the form rgb(255, 255, 255).
- Assert that SimpleVector size is positive.
Patches: Johannes Hofmann
+- Removed redundant system includes.
- Added the "nop" keybinding (nop = NO_OPERATION; cancels a default hook).
- Added 'stop' key action (not bound by default).
- Fixed segfault when URL is NULL and dpis can't be found.
Patches: place (AKA corvid)
+- Reduced 'warning: ignoring return value of ...'
Patch: Michal Nowak, Jorge Arellano Cid
+- Check chdir() return code in Paths::init.
- Removed return from a_Nav_unref_buf()
- Do not build proto.c (file is empty); GCC warning
Patches: Michal Nowak
-----------------------------------------------------------------------------
dillo-2.1 [Jun 15, 2009]
+- Added ipv6 addresses iteration and ipv4 fallback.
Patch: James Turner, Jorge Arellano Cid
+- Added support for numeric IPv6 addresses entered into the url bar.
- Made the DNS resolver report in numeric address notation.
- Used the URL authority part instead of stripped default port in HTTP query.
- Fixed Bookmarks modify's HTML so it wraps nicely on handhelds.
Patches: Justus Winter
+- Implemented "search previous" in string searches.
Patch: Joo Ricardo Loureno
+- Fix for file inputs without values (forms).
- Tuned input width a bit.
- Cleaned up resource embedding (forms)
- Made cookierc parsing more robust.
- Switched a_UIcmd_save() to take its URL from history (not location bar).
- Set prefs.vw_fontname as default font for the UI.
- Fix: recover page focus when clicking outside of a widget.
- Fixed a segfault bug in the test/ directory.
- Set middle click to submit in a new TAB. (Helps to keep form data!)
- Added support for the Q element. BUG#343
- Cleaned up Html_pop_tag().
- Ported the command line interface from dillo1
- Switched file dpi error messages to HTML.
- Added a right-click menu to form controls (show hiddens, submit, reset)
- Remove now-redundant generate_submit pref
- Added the "http_language" dillorc option for setting HTTP's Accept-Language.
- Refactored prefs.c to a much smaller size!
- Fixed a SEGFAULT bug on redirections without Location.
- Obey SELECT's size attribute.
- Replace image loading button and page menu option with a tools menu option.
- Implemented the "overline" text-decoration.
- Enhanced and cleaned up text decorations for SUB and SUP.
- Added "View Stylesheets" to the page menu.
- Remove standard_widget_colors dillorc option.
- Added dillo(1) man page.
- Proxy support for HTTPS.
- System config files have moved to sysconfdir/dillo/
- Add keysrc.
Patches: place (AKA corvid)
+- Switched SSL-enabled to configure.in (./configure --enable-ssl).
- Standardised the installation of dpid/dpidrc with auto* tools.
- Set the ScrollGroup as the resizable widget in downloads dpi.
- Cleaned up and normalized D_SUN_LEN usage.
- Fixed incorrect use of VOIDP2INT in Dialog_user_password_cb().
- Ensure that the dlib dStr* functions are used everywhere.
- Fixed a memory leak in Html_tag_open_link().
- Fixed a memory leak in Klist().
- Fix the comment for DLWin::del() (dpi/downloads.cc).
- Removed redundant caller NULL checks already in the API.
Patches: Jeremy Henty
+- Implemented Basic authentication!
Patch: Jeremy Henty, Jorge Arellano Cid
+- Added "-fno-rtti -fno-exceptions" to CXXFLAGS (reduces binary size).
Patch: Jorge Arellano Cid, place (AKA corvid)
+- Allowed compilation with older machines by removing a few C99isms.
- Added use of inttypes.h when stdint.h isn't found.
Patches: Dan Fandrich
+- Reduced warnings with gcc-4.3.
Patch: Thomas Orgis
+- Made the parser recognize "[^ ]/>"-terminated XML elements.
- Implemented basic CSS infrastructure.
- Brought in Sebastian's CSS parser from dillo-0.8.0-css-3.
- Read user style from ~/.dillo/style.css.
- Added support for descendant and child selectors.
- Improved CSS selector matching performance using hash tables.
- Support selector specificity.
- Add support for font-size and font-weight enum values.
- Added "font_max_size", "font_min_size" dillorc options.
- Add workaround for fltk bug #2062.
- Reduce number of styleEngine::style0() calls.
- Replace bg_color dillorc option.
- Remove text_color, link_color, and force_my_colors dillorc options.
- Fix CSS string parsing bug.
- Replace visited_color dillorc option.
- Add support for negative numbers in CSS parser.
- Fix allow_white_bg dillorc option.
- Load <style></style> content only if applicable.
- Allow negative values for specific CSS properties only.
- Disable negative margins for now as dw/* does not support them yet.
- Support CSS @import directive.
- Disable form widgets while stylesheets are loading.
- Fix image scaling on reload with border, margin, or padding > 0.
- Implement --xid command line option (used by claws mail client).
- Make tab expansion in plain text utf8 aware.
Patches: Johannes Hofmann
+- Updated the GPL copyright note in the source files.
Patch: Detlef Riekenberg
+- Implemented a close-tab button for the GUI.
Patch: Joo Ricardo Loureno, Jorge Arellano Cid
+- Added the "middle_click_drags_page" dillorc option.
Patch: Jorge Arellano Cid, Thomas Orgis
+- Added configurable keybindings! (in ~/.dillo/keysrc)
Patch: Jorge Arellano Cid, Tim Nieradzik, place (AKA corvid)
+- Fixed a memory leak with DilloImage structures.
Patch: Johannes Hofmann, place (AKA corvid)
+- Set the File menu label to hide when the File menu-button is shown.
- Set a new iconv() test in configure.in.
- Allowed the rc parser to skip whitespace around the equal sign.
- Fixed the parser not to call Html_tag_close_* functions twice.
- Implemented loading of remote CSS Stylesheet.
- Made a big cleanup of cache.c WRT charset decoding (fixes bugs).
- Made an extensive cleanup/fixup of the whole image handling process.
- Implemented the tools button with a couple CSS options.
- Removed the nav.h dependency from html.cc
- Made the repush() operation more general and suited for CSS use.
- Fixed collapsing of whitespace entities in HTML mode.
- Updated the URL resolver to comply with RFC-3986.
- Fixed handling of META's content-type with no MIME type (e.g. only charset).
- Added support for a quoted URL in META refresh.
- Added instant client-side redirects (aka. zero-delay META refresh).
Patches: Jorge Arellano Cid
dw
+- Moved clicked from ButtonResource to Resource.
Patch: place (AKA corvid)
+- Cleaned up unused code in fltkviewbase.
Patch: Johannes Hofmann
+- Added lout/msg.h and normalized debug messages to use it.
Patch: Jorge Arellano Cid
-----------------------------------------------------------------------------
dillo-2.0 [Oct 14, 2008]
+- Ported Dillo from GTK1 to FLTK2.
- Ported a susbstantial part of the code from C to C++ (FLTK2 is in C++).
- Wrote a new library: Dlib. With "Dlib" Dillo doesn't need glib anymore.
- Ported all the code to Dlib.
- Fixed Http_must_use_proxy() to be case insensitive.
- Fixed some leaks and bugs in the cookies dpi.
- Made Dillo's UI Control Panel resizable on-the-fly.
- Implemented a new, simpler, dillorc parser.
- Added handling of "localhost" in file URIs.
- Fix: recognize "http://foo" and "http://foo/" as the same URL (BUG#497).
- Reimplemented the Concomitant Callback chains into a uniform scheme!
(two query branches and a single answer branch). It simplifies a lot the
former CCC paths and allows for easier error control.
- Added a new method for internally-generated urls: a_Cache_entry_inject().
- Switched the cache to use Dlib's Dstr for its data storage.
- Removed threads from IO. Now it only uses select-based watches.
- Reimplemented IO.c and dpi.c to use Dlib's Dstr as its main buffer.
- Turned Klist into a sorted list.
- Removed one data-copy stage in Html_write_raw().
- Switched gcc's "fmt..." syntax to ISO C __VA_ARGS__.
- Fixed Dillo and its dpis to work from "/tmp" (for easy device unmount).
- Simplified http.c by reusing the new non-blocking writes in IO.
- Reworked the capi API so cache is only accessable from capi.
- Rewrote the CCC's OpAbort handling.
- Rewrote the DNS API and the Dpid start code inside Dillo.
- Implemented Stop button to not only stop rendering but also networking.
- Fixed the problem of scrolling position (remember position in a page).
- Implemented a new scheme of scroll-position remembering. This is one per
visited page intead of one per url (this is more standard).
- Fixed a subtle bug in klist that was affecting IO.
- Fixed the position of the Bug Meter popup menu.
- Hooked vertical scrolling to the mouse wheel.
- Reimplemented plain.cc using a class, and hooked memory-release.
- Reimplemented html.cc using a class, removed the linkblock,
and hooked memory-release to dw destruction.
- Switched UI shortcuts from a global event handler to UI::handle.
- Bound Ctrl+Space to toggle fullscreen mode.
- Switched dillo to push a URL with fragment (anchor) into the stack.
- Added a workaround for a CCC reentrancy segfault.
- Bound FltkMultiLineTextResource to the html parser (TEXTAREA).
- Added code to ignore the first <P> after <LI>.
- Added a http_referer preference. See details in dillorc.
- Added a text placeholder: "[IMG]" for img_off mode.
- Fixed a SEGFAULT bug in http.c (handling of web->url).
- Fixed handling of #anchors with repush, and other operations.
- Implemented a_Dialog_choice5(). May be used by dpis and dillo.
- Improved parsing of collapsing white space.
- FTP dpi: Fixed algorithm bugs and improved the mime-type detector.
- CCC: added reentrancy control to the OpEnd and OpAbort operations.
- CCC: enhanced the debug function and implemented OpAbort for dpi.
- Hooked a decoder for text/plain with charset.
- Forbid dpi GET and POST from non dpi-generated urls.
- Cleaned up a_Url_new().
- Implemented tabbed browsing.
Patches: Jorge Arellano Cid
+- Connected signals to <li> elements (fixes links within lists).
- Enabled text, background-color, panel_size, geometry, fullscreen,
start_page, geometry offset, proxy_user and limit_text_width in preferences.
- Enabled clicking over image links.
- Improved notification upon leaving links.
- Implemented image-link URL showing in status bar.
- Added missing size-parsing for the <hr> element.
- Hooked "Activate" to the form_receiver.
- Connected the plain page context menu.
- Added code for the image menu and hooked it to dw2 signals.
- Hooked the page and link menus.
- Added a image-loading toggle button to the UI.
- Enabled hiding widgets of the control panel from dillorc.
- Added a save-directory preference (save_dir in dillorc).
- Fixed page-popup-menu to use the stack's top URL instead of base_url.
- Added the "static" qualifier where missing.
- Bound "Copy link location".
- Bound preliminar find text support.
- Added line numbers and enabled wrapping in the "View Source" window.
- Added HTTP-1.1's chunked transfer support!
- Made the stop button sensitive when loading an image.
- Added more statics in dpi, const in pixmaps, and removed redundant includes.
- Made cleanups in prefs (hiding local data/defs/symbols).
- Fixed a segfault in cookies.c when no .dillo directory exists.
- Added a MSG_HTTP for HTTP/1.1's warning headers.
- Added support for multi-line header fields.
- Added support for "charset" in the HTTP header field for Content-Type.
- Added support for progressive display of progressive jpegs.
- Fixed progressive display of interlaced pngs.
- Enabled colspan=0 in tables parsing.
- Fixed a memory leak in cookies.c
- Added "standard_widget_colors" preference. It allows a more stylish look.
- Fixed the return value of Cache_parse_multiple_field.
- Added the multipart/form-data encoding method to form submission.
- Fixed a bug in Html_parse_entity.
- Fixed a bug in a_Url_cmp.
- Fixed a bug in Cookies_parse_one. Set it to a single return point too!
- Added dStr_memmem() and dStr_printable() to dlib.
- Split Html_append_input() into smaller functions.
- Implemented ISINDEX.
- Added input image for FORMS.
- Added button for FORMS.
- Added nesting checks for BUTTON, SELECT and FORM.
- Fix: shape=default is the background in a client-side image map.
- Enabled client and server-side image maps.
- Switched Window::destroy to Window::delete, fixing side effects.
- Made zlib a configure requirement, and cleaned up configure.in.
- Fixed a segfault bug in Nav.c.
- Switched from charset to content-type for handling data.
- Moved charset decoding into cache.
- Implemented OBJECT as link (similar to FRAME).
- Enabled the file dpi to look inside gzipped files.
- Allowed form inputs outside the FORM element (it's in the standard).
- Fixed a segfault bug in VERBATIM mode.
- Made image inputs less of a special case by using x,y in ComplexButton.
- Made forms show their action URL upon enter/leave mouse events (safety).
- Fixed a memory leak in plain.cc.
- Switched from DEBUG_MSG to MSG.
Patches: place (AKA corvid)
+- Fixed a problem with locally-installed dpis.
- Added code for optional image loading (nice interface) very advanced!
- Added an experimental gzip decoder!
- Implemented "Load Images" in the page menu and cleaned up html.hh.
- Added shortcuts: PgDn=Spc, PgUp=b, Back=BackSpace, Forw=Shift+Backspace.
- Made a cleanup in cache's parse header code.
- Added support for "charset" in the META element.
- Added a_Capi_get_flags(). It requests a cache entry's status as flags.
- Switched URL_DATA type from char* to a dStr.
- Implemented the file input control for forms.
- Fixed data guesser to detect ASCII, LATIN1, UTF8, KOI8-R, CP-1251 as text.
Patch: place, Jorge Arellano Cid
+- Fixed a cookies-related dillo freeze bug happening at:
http://www.fltk.org/newsgroups.php?gfltk.general+v:24912
Patch: Andreas Kemnade, Jorge Arellano Cid
+- Fixed a va_list-related SEGFAULT on 64bit-arch in dStr_vsprintfa().
Added const declarations in html parser.
Patch: Vincent Thomasset
+- Fixed void to int conversions for 64bit-arch.
Patch: Jorge Arellano Cid, higuita
+- Set the url resolver to escape illegal chars instead of stripping.
Patch: Jorge Arellano Cid, Jeremy Henty
+- Added suport for old iconv() (const char** as 2nd arg).
Patch: Jorge Arellano Cid, Christian Kellermann
+- Added a strndup() replacement in dw2
Patch: Alexander Becher, Johannes Hofmann, Jorge Arellano Cid
+- Fixed calcHashValue() to only return non-negative numbers (was SEGFAULT).
- Improved scrolling performance on large pages by copying screen data
instead of rendering.
- Updated configure.in to check only for fltk2-config.
- Implemented drag-scrolling with the mouse's middle button.
- Disabled double buffering (good for debugging redraws).
- Switched dns.c from gethostbyname* to getaddrinfo (& removed libc5 code).
- Made "New browser window" inherit the panel style of its parent.
- Made TopGroup a PackedGroup, simplifying UI code and removing workarounds.
- Added a redraw(DAMAGE_HIGHLIGHT) call to Back, Forw and Stop buttons.
- Fixed a segfault bug when closing a bw under active networking.
- Removed the unused SPCBuf variable.
- Fixed a freeze-bug in IO.c where the IOwatch for reading was not removed.
Patches: Johannes Hofmann
+- Made progress bars resize automatically.
Patches: Johannes Hofmann, Jorge Arellano Cid
+- Improved FLTK library detection at configure time.
Patch: Frank Gevaerts
+- Bound Ctrl-R to reload.
- Made dialogs use font_factor (e.g. view source).
- Implemented the SELECT element in FORMS!
- Implemented MULTIPLE SELECT in FORMS.
- Fixed a memory leak in nav.c
!- html.cc cleanup (in progress). New classes, form API, source split.
- Fixed a bug in style caching.
Patches: Jeremy Henty
+- Added int32_t, EAI_NODATA and iconv tests for FreeBSD.
Patch: Thomas-Martin Seck
+- Made CTRL-l focus the location bar instead of popping up a dialog.
- Set key bindings with modifiers to work when alone only.
- Replaced the findtext dialog with an in-window widget!
Patches: Justus Winter
-----------------------------------------------------------------------------
dw
0.0.43
- Fixed bug in dw::core::ExtIterator (wrong mask, see also Jorge's
patch "createvar.diff" from Nov 08).
- Applied Jorge's patch for dw::core::AlignedTextblock
("lists.diff" in mail from Nov 08).
- Applied Jorge's patch for dw::core::Textblock ("links.diff" in
mail from Nov 08).
- Applied Jorge's patch for configure.in ("conf.diff" in mail from
Nov 08).
- Renamed ExtIterator to DeepIterator.
- Implemented CharIterator (as an alternative to word iterators).
- Implemented text search (simple KMP based on CharIterator).
- Completed scrolling.
Patches: Sebastian Geerken
+ Implemented drag scrolling with mouse's middle button.
- Enabled commented out partial image redraw, adding some checks.
- Enabled clipped redraws (avoids some flickering).
- Improvement: avoid complete redraws for child widget updates.
- Added code to really delete fltk2 widgets embedded in dw2.
- Fixed partial redraws and scrolling interference.
- Added combination of drawing rectangles into a larger one.
- Bug fix: a newly added rectangle may contain others.
- Made draw() check whether a rectangle is visible at drawing time.
- The background is now cleared properly on partial redraws.
- Made getWidgetAtPoint() a virtual method of widget and implemented a
custom one for TextBlock, reducing CPU usage on pages full of links.
- Added a style reference and an initialization to mustQueueResize.
- Replaced prepareCreateFltkWidget with an explicit call to add().
- Fixed an assertion-exit bug in DeepIterator.
- Fixed two viewport bugs: in drawing and scrolling.
- Made scrollbars really children of FltkViewport.
- Avoided multiple redraws when Layout::resizeIdle() queues itself.
- Set FltkViewBase::draw to intersect with view area for expose.
- Set cursor shape to CURSOR_MOVE on drag. Disabled drag over links.
- Added Layout::queueDrawExcept(), it reduces flickering by avoiding
a redraw when another rectangle is added.
- Fixed a scrollIdleId test to properly compare against -1.
- Set FltkPlatform::removeIdle to use removeRef() instead of remove().
- Cleaned up scroll code and moved updateCanvasWidgets() out of draw().
- Switched begin-end pairs with add() calls (fixes side-effect bugs!).
- Fixed checks in adjustScrollPos() to not allow wild values.
- Added double buffering for partial redraws!
- Implemented ComplexButton.
- Fixed find text so it works for phrases and PRE-wrapped text.
- Fixed a bug in DeepIterator::prev.
- Added the "lout" namespace.
- Reduced memory usage in 30% by reusing styles, reducing the size
of struct Content, and not preallocating in SimpleVector. !
- Made fontsTable and colorsTable static members of Font and Color.
- Moved highlighting information from struct Word into Textblock
to save memory.
- Reduced memory usage 10% with a custom memory handler in Textblock.
- Fixed a segfault when searching for single characters.
- Fixed memory leaks by s/delete/delete[]/ where necessary.
- Fixed three iterator memory leaks in Iterator::scrollTo().
- Changed DeepIterator to always clone its parameter (segfault bug).
- Implemented selection of multibyte glyphs (UTF-8).
- Removed the canvasWidgets list (fltk's children seem enough).
- Switched misc:assert() to the standard assert() call.
Patches: Johannes Hofmann
+ Fixed a segfault-on-empty-strings bug in ConstString::hashValue.
- Fixed a segfault in reallocChildren (colspan/rowspan related).
- Fixed another assertion-exit bug in DeepIterator.
- Added the dw::fltk::ui::FltkMultiLineTextResource class.
- Implemented TEXTAREA using fltk::TextEditor.
- Bugfix: added the missing fltk::setfont calls before ::getwidth.
- Bugfix: initialized scrollIdleNotInterrupted variable.
- Commented out obsolete DEBUG_MSG lines in widget.cc.
- Fixed rowspan apportion when no single rowspan=1 row is found.
- Fixed allocateFltkWidget to handle and display FltkListResource.
- Fixed a slithery BUG in lout::misc::Stringbuffer.
- Implemented multiple item selection in FltkSelectionResource.
Patches: Jeremy Henty
+ Added an extra argument in the link signals
(I recommended that instead of an array of image handlers --jcid)
- Aded an x_img camp to style (an image array index, like x_link).
- Added the same workaround in ui.cc for WHEN_ENTER_KEY_ALWAYS.
- Fixed shading (style.cc) and implemented FltkViewBase::drawPolygon().
- Implemented Circle and Disk bullet drawing.
- Fixed a bug in FltkViewBase::getClippingView.
- Made FltkColor::FltkColor use ::fltk::BLACK (bugfix).
- Fixed a bug with dissappearing widgets when scrolling with low CPU.
- Fixed a bug with the canvas offset of scrolling bars.
- Fixed a typo bug in scrollIdle() and a typo in processMouseEvent().
- Fixed an offset arithmetic bug with widgets inside textblock.
- Fixed RTFL debugging messages.
- Switched ComplexButton to use "Activate" instead of "Clicked" signal.
- Made the ComplexButton resource remember its click x,y.
- Added "enter" and "leave" signals into class Resource.
Patches: place
+ Enabled mouse wheel scrolling.
FltkViewport::setScrollStep() sets how many points at a time.
- Added setDeleteCallback(DW_Callback_t func, void *data) to widget.
This allows to hook a callback when the widget is destroyed.
- Implemented a weighted apportionment algorithm for table rowspan.
- Implemented a weighted apportionment algorithm for table colspan.
- Implemented percentage widths in tables (better rendering!).
- Fixed an initialization bug in hruler.
- Fixed a bug in the textblock's wrapping algorithm.
- Fixed a bug in table cellpadding.
- Fixed a bug in getContentHeight().
- Changed the table-apportion algorithms + bug fixes. Big work!
- Fixed a mistake in the CSS-box-model PNG image (style-box-model.png).
- Added initialization for scrollX and scrollY.
- Fixed a typo bug in adjustScrollPos().
- Fixed two typo bugs in Textblock::drawLine().
- Changed Textblock::addText() to internally allocate its text string,
making the memory handling opaque to the caller.
Patches: Jorge Arellano Cid
+ Added actual text selection.
Patch: Sebastian Geerken, place
+ Implemented dw::fltk::ui::FltkOptionMenuResource::isSelected(),
added Item::createNewGroupWidget(), Item::createNewWidget().
Patch: Jeremy Henty, Johannes Hofmann
+ Implemented the necessary base for image maps.
Patch: Johannes Hofmann, place
0.0.42
- Fixed event handling in FLTK views. (Fixes links and several
problems with UI resources.)
- Implemented clipping views. (dw::Image used this already in
version 0.0.41.)
- Added "activated" signals to UI resources.
Patches: Sebastian Geerken
-----------------------------------------------------------------------------
0.8.5-pre-dw-redesign-1 [internal]
- Prototype
dillo-0.8.3-pre-dw-redesign-3 [Aug 30, 2004]
- * Fixed bug GtkDwViewport, which caused some redraws to be ignored.
* Added GdkDwPreview.
Patches: Sebastian Geerken
dillo-0.8.3-pre-dw-redesign-2 [Aug 28, 2004]
- * Added images to the current state of the redesign.
- New module Imgbuf, see doc/Imgbuf.txt for details.
Patch: Sebastian Geerken
dillo-0.8.3-pre-dw-redesign-1 [Aug 25, 2004]
- * Introduced an abstraction layer between Dw and Gtk+. See README-port and
doc/DwRender.txt for more details.
Patch: Sebastian Geerken
=============================================================================
Dillo project
=============================================================================
dillo-0.8.6 [Apr 26, 2006]
- * Designed and implemented a dpi protocol library (libDpip.a in /dpip).
* Added a couple of new dpip commands.
* Fixed and uniformed the escaping of values inside dpip tags.
* Ported the bookmarks, download, file, https, ftp and hello plugins,
plus the dpid daemon and the rest of the source tree to use it.
* Improved the dpi buffer reception to handle split buffers (This was
required for handling arbitrary data streams with dpip).
* Fixed a bug in Cache_entry_remove_raw.
* Added a couple of "const" and C++ wrappers to dpiutil's API.
* Fixed a serious bug with the FTP plugin that led to two downloads of the
same file when left-clicking a non-viewable file.
* Added MIME/type detection to the FTP plugin, and removed popen().
* Set the dpi daemon (dpid) not to exit when the downloads dpi is running.
* Improved the accuracy of the illegal-character error reporting for URLs.
* Now save dialog replaces %20 and ' ' with '_' in the Filename suggestion.
* Made URL ADT automatically count and strip illegal characters from URLs.
* Added dpi/downloads.cc (Default FLTK2-based GUI for downloads dpi).
* Added "./configure --disable-dlgui" to build without FLTK2-GUI downloads.
* Fixed dpip's tag syntax and its parsing to accept any value string.
* Added DOCTYPE parsing (for better bug-meter error messages).
* Added a DOCTYPE type declaration tag to dpi-generated HTML.
* Fixed bookmarks dpi to escape ' in URLs and &<>"' in titles (BUG#655).
* Added a check for malicious image sizes in IMG tags.
* Made the parser aware of buggy pages with multiple BODY and HTML elements.
* Fixed a bug in MIME content/type detection.
* Check HTTP Content-Type against real data (a security procedure).
Patches: Jorge Arellano Cid
- * Added a datauri dpi to handle "data:" URIs (RFC-2397).
Patch: Jorge Arellano, Ben Wiley Sittler
- * Moved the cookies management into a dpi server: cookies.dpi.
* Removed the restriction of only one dillo with cookies enabled!
* Fixed a bug with cookies for sites with self-signed certificate.
* Updated the cookies documentation.
* Made the downloads plugin dillo-cookie aware.
* Ported the cookies dpi to libDpip.a.
* Merged the new dpip code into the source tree.
Patches: Diego Senz, Jorge Arellano
- * Added "./configure --disable-threaded-dns" (for some non reentrant BSDs).
Patch: Jorge Arellano, Francis Daly
- * Fixed a bug with roman literals divisible by 10 (BUG#700).
* Fixed a bug with long alphabetically ordered lists (BUG#704).
Patch: Glyn Kennington
- * Fixed a file descriptor leak in the dpi protocol library.
* Fixed a subtle segfault bug with malformed URLs in cookies.c.
Patch: Francis Daly
- * Improved the dpi framework. Now dpi-programs can be specified in dpidrc,
and there's no need to touch dillo's sources to add new dpi services.
Just make your dpi program, add a dpidrc line and play with it!
Patch: Diego Senz, Jorge Arellano
dillo-0.8.5 [Jun 15, 2005]
- * Set "file:" to work as URI for current directory.
Patch: Diego Senz
- * Added a "small" dillorc option for panel size (medium without labels).
Patch: Eugeniy, Jorge Arellano
- * Fixed the shell escaping code in the ftp plugin.
* Added some checks for sane values in html.c.
* Added URL filtering to the ftp and downloads dpis to avoid SMTP hacks.
* Fixed the file dpi to react to the DpiBye command.
Patches: Jorge Arellano
dillo-0.8.4 [Jan 11, 2005]
- * Fixed a possible attack (program abortion) by malicious web pages, which
contain huge values for <table> attributes "colspan" and "rowspan".
* Changed anchors, they are now tested to be unique, and removed properly,
when a widget tree is changed (e.g. another page is visited). Also added
HTML warnings.
Patches: Sebastian Geerken
- * Fixed two minor memory leaks (IO's Buf1Start & html's SPCBuf).
* Fixed handling of XML's "/>" tag-closing (e.g. <script ... />). BUG#514
* Removed obsolete code from IO/file.c.
* Added a few missing EINTR handlers in dpi.c.
* Orthogonalized the generic parser:
- Fixes memory leaks and widget state when recovering from bad HTML.
- Improves error detection and validation (needed by XHTML).
- Makes DOC tree generation possible (needed by CSS).
- Cleaner design of handling routines for bad HTML.
- Orthodox treatment of double optional elements (HTML, HEAD, BODY).
- Lots of minor code cleanups.
* Switched the dpi file server's design to pthreads (fixes a critical race).
* Avoided a crash when indexed GIF images lack a color map (BUG#647).
* Fixed a bug when the remote HTTP server sends no Content-Type and
the TCP packetizing splits the header from data (BUG#650).
* Returned the parser to the old whitespace "collapsing" mode
(this can be changed with the SGML_SPCDEL define in html.c).
* Fixed a memory leak for DwStyle (there was one leak per page).
Patches: Jorge Arellano
- * Fixed a large memory leak of thread specific resources. --Very important
Patch: Jorge Arellano, Livio Baldini
- * Removed warnings for pointer arithmetic and strict prototypes all
around the code (now it works under LP64 architectures).
* Made miscelaneous cleanups for LP64 architectures.
Patches: Jorge Arellano, Dieter Baron
- * Changed dpid's umask to 0077.
Patch: Jorge Arellano, Richard Zidlicky
- * Switched to g_vsnprintf (instead of vsnprintf).
Patch: Frank Wille
- * Updated a bit the README file.
Patch: Dieter Baron
- * Made a grammatical and typographical review of the whole documentation
in doc/. Also added some clarifications.
* Fixed a libpng detection problem (e.g., on CYGWIN). BUG#651
Patches: Roberto Sanchez
- * Fixed "id" and "name" attributes parsing logic.
* Improved the parsing algorithm for character entities. BUG#605
Patches: Matthias Franz
- * Fixed a security bug with uncertain data and a_Interface_msg().
CAN-2005-0012.
Patch: Tavis Ormandy
dillo-0.8.3 [Oct 27, 2004]
- * Added a missing error handler for unreachable host in http.c.
Patch: Dennis Schneider, Jorge Arellano
- * Added fragment (aka anchor) decoding before it is set by Dw.
Patch: Matthias Franz, Jorge Arellano
- * Fixed dpid to work even when a dpi directory is empty.
Patch: George Georgiev, Jorge Arellano
- * Made the search dialog's URL go encoded in the query.
Patch: Matthias Franz
- * Fixed the width of sized text entry widgets within FORMS.
Patch: Thorben Thuermer
-(*)Made a library-based https dpi prototype, with certificate authentication!
* Separated the code in dpi/ so the common base now lies in dpiutil.c.
Patches: Garrett Kajmowicz
- * Added SSL library detection code to configure.in.
Patch: Garrett Kajmowicz, Thomas-Martin Seck
- * Fixed the wrong image-URL after cancelling a link-image popup (BUG#580).
* Improved the transfer speed for the bookmarks dpi when using 2.6.x linux.
* Fixed the downloads dpi to work when there're "'" characters in the URL.
* Fixed " and ' characters stuffing in capi and interface for dpip commands.
(*)Added a "dialog" command to the dpi protocol (dpip). It allows any dpi to
make GUI choice-questions trough Dillo by using simple dpi tags.
* Merged some dialog-generating code in interface.c and fixed a bug with
the FORM repost dialog.
* Designed and implemented a unified API for handling data streams inside
dillo plugins. Servers and filters can use it.
* Converted the bookmarks, ftp, file, hello and the https prototype dpis
to the new dpiutil API.
* Replaced the old 'force_visited_color' dillorc option with the new
'contrast_visited_color' (using a renewed color-choosing algorithm).
* Added some 'undefined ASCII' to latin1 character conversions.
* Added the "w3c_plus_heuristics" option to dillorc.
* Removed a segfault bug on oversized images (rare case).
* Removed a CPU-hog on 302 redirections with cookies.
* Made HTTP's 302 redirections non-cacheable (incomplete).
* Implemented a new scheme for detecting redirection loops.
* Fixed cookies to accept four legacy old-date formats for "Expires".
Patches: Jorge Arellano
- * Introduced a light-weight heuristic algorithm over the W3C parsing
scheme (allows for slightly better rendering: w3c_plus_heuristics=YES).
Patch: Rubn Fernndez
- * Moved the internal support for "file:" URIs into a dpi (server plugin).
* Added TABLE-based rendering of directory listings to the new file dpi.
Patches: Jorge Arellano, Jrgen Viksell
- * Removed DwWidget::realize and DwWidget::unrealize.
* Made all signals expect events to abstract methods.
* Renamed a_Dw_widget_{size_request|get_extremes|size_allocate|set_*} to
p_*, they should not be used outside of Dw.
Patches: Sebastian Geerken
- * Fixed the meta refresh warning to not switch from IN_HEAD to IN_BODY.
Patch: Bjrn Brill
dillo-0.8.2 [Jul 06, 2004]
- * Made PgUp/PgDn scroll by a full page, instead of a half (BUG#418).
* Added new Gtk+ widgets GtkExtButton, GtkExtMenu, and GtkExtMenuItem.
- Used GtkExtButton to enhance the button 3 menu of the forward button,
backward button and bug meter buutton.
- GtkExtMenu and GtkExtMenuItem are used to make handling button 2
in the history menus cleaner.
* Made bug meter button react on high-level "clicked" signal, instead of
"button-press-event".
* New widget GtkMenuTitle, used for nicer titles in menus.
Patches: Sebastian Geerken
- * Added a small handler for javascript links (BUG#546).
* Made the parser ignore white space immediately after an open tag, and
immediately before a close tag.
* Fixed handling of redirection answers with unviewable MIME type (BUG#563).
* Fixed the history-stack handling after redirection chains.
* Fixed the character escaping logic in directory listings (BUG#564).
* Added a small hack to view UTF-8 encoded quotation marks.
* Added a "start_page" option to dillorc (to override the splash screen).
* Tuned the buffering scheme for local directory listings (more speed).
* Set some initial socket-buffering for dpis (in dpid).
* Disallowed the "about:" method on non-root URLs (BUG#573).
* Made the rendered area keep its focus after a form submition.
* Fixed some include files in src/IO/.
Patches: Jorge Arellano
- * Added hints (icons and tooltip text) to buttons featuring a right-click
context menu.
* Now you can copy & paste an URL into the "Clear URL" button.
Patch: Jorge Arellano, Sebastian Geerken
- * Made the save and open file dialogs remember the last directory (BUG#211).
Patch: Diego Senz
dillo-0.8.1 [May 14, 2004]
- * Fixed dirent.h includes inside dpid.
Patch: Joseph Myers
- * Fixed a slippery bug with certain interlaced gif images (BUG#500).
Patch: Andreas Mueller
- * Fixed libpng-1.2.4 detection in configure.in.
Patch: Rubn Helguera
- * Added proxy authentication support through the "http_proxyuser" option
in dillorc (the password is asked at run time).
Patch: Ivan Daniluk, Jorge Arellano, Francis Daly
- * Moved tooltips to DwStyle, tooltip event handling to DwPage, and applied
this also to the TITLE attribute of <a> and <abbr>.
Patch: Jrgen Viksell, Sebastian Geerken
- * Fixed a bug related to spaces after anchors and breaks.
Patch: Sebastian Geerken
- * Removed two "type punning" gcc warnings (dw_gtk_viewport.c).
* Added some missing "static" qualifiers.
* Improved a_Strbuf_chars() so no list reversion is required.
* Removed an unused data list (dns.c), and redundant code (selection.c).
* Switch one realloc() call to g_realloc(), to match g_free() (dpi.c).
* Removed unnecessary NULL-checks and NULL initializations.
* Added Html_get_attr_wdef(), it lets providing a default return value.
Patches: Jrgen Viksell
- * Fixed configure.in so pthreads are only linked where needed.
Patch: Jrgen Viksell, Jorge Arellano
- * Modified a_Misc_stuff_chars for simplicity and removed a memory leak.
* Made the dpi framework send the HTTP query to the https dpi
(this allows for an SSL-lib dpi and for easier session caching).
* Cleaned up the int2void and void2int casts in CCC parameters.
* Added container|inline model information to the HTML element table, and
made the bug-meter and the parser aware of it. This both improves bug
detection and rendering.
* Fixed newly detected HTML bugs in bookmarks dpi and file.c.
* Fixed opening files with a ':' character in its name (again).
* Added binaryconst.h (allows for binary constants in C).
* Fixed The ladder effect with lists (BUG#534).
* Made the bug-meter detect tags lacking a closing '>' (BUG#532).
* Made the bug-meter detect excluded inline elements from <PRE>.
* Eliminated a segfault source with tricky <input> tags (BUG#552).
* Fixed <address> to render as a block element (BUG#527).
* Added a content test for "name" and "id" attribute values (BUG#536).
* Fixed the URL resolver handling of the "//" sequence in <path> (BUG#535).
* Added "show_extra_warnings" and removed "use_old_parser" (dillorc).
* Added minor support for the deprecated <MENU> element.
* Eliminated a race condition that produced segfaults when a dpi transfer
was cancelled before the contents were sent (a very rare case).
* Added a test for socklen_t in configure.in.
* Fixed the downloads dpi to handle both new savenames and target directory.
* GdkRgb: fixed handling of not usable system default visual and colormap.
* Made dillo recognize unhandled MIME types, and offer a download dialog!
Patches: Jorge Arellano
dillo-0.8.0 [Feb 08, 2004]
- * Added a right-mouse-button popup for images!
Patch: Frank de Lange, Eric Gaudet, Jorge Arellano
- * Made main document window grab focus on startup, fullwindow,
and after open url (BUG#330)
* Set Ctrl-U to focus the location entry,
Ctrl-R to reload, and Ctrl-H to hide controls.
Patches: Johan Hovold, Jorge Arellano, Stephan Goetter
- * Added a missing handler for broken-connection condition.
Patch: Jorge Arellano, Phil Pennock
- * Introduced a new way of handling dillo plugins! Now the
communications and managing is done by a daemon: dpid.
This comes with a lot of advantages described in Dpid.txt.
Patch: Programming: Ferdi Franceschini; Design: Jorge Arellano
- * Wrote documentation for dpid (Dpid.txt).
* Removed a memory leak in Get_line().
Patches: Jorge Arellano, Ferdi Franceschini
- * Developed a plugin for downloads. It uses wget and can handle several
connections at the same time.
* Developed stress tests for both dpid and the downloads dpi.
Patches: Ferdi Franceschini
- * Adapted dpi.c to manage plugins through dpid.
* Improved the incoming dpi-stream processing to accept images from a dpi.
* Added/updated lots of dpi-related comments.
* Updated the dpi1 spec.
* Removed the forced end-to-end reload that was set upon dpis. Now,
dpi-generated pages can be cached.
* Made dillo able to handle multiple plugins (still lacks a dynamic API)
* Wrote bare bones plugins for handling: FTP and HTTPS.
* Wrote an example plugin: HELLO --kind of "Hello world".
* Made all the bindings to make it work (fully commented).
* Added code for automatical and non-blocking dpid start!
* Added an extensible secondary URL convenience for popup menus.
* Attached the image popup to the link menu (when the link is an image).
* Removed a memory leak in the selection code (commands.c).
* Cleaned up memory handling when reusing the GioChannel for IPv6.
* Removed a race-condition-polling-CPU-hog bug in IO! (hairy... ;)
* Adapted the generic parser to make HTML error detection, providing
the line number and a hint (expected tag) in the error message!
* Added a bug-meter button that shows the count of detected HTML errors
(left click shows the errors, right click offers a validation menu).
* Added information about optional, required and forbidden end tags.
* Modified the parser's handling of closing tags to account for elements
with an optional close tag, and for more accurate diagnosis messages.
* Added 'use_old_parser' option to dillorc (boolean).
* Fixed the handling of HEAD and BODY elements to account for their
double optional condition (both open and close tags are optional).
* Added the MSG() macro to msg.h and replaced g_print() with it.
* Added the "show_msg" dillorc option to disable MSG().
* Increased the number of warning messages reported by gcc.
* Solved a lot of signed/unsigned problems.
* Made the necessary cleanups/bug-removals for the new warning level.
* Connected the dpi stream to the cache using the CCC!
* Fixed the cache API by introducing the new call a_Capi_get_buf().
* Fixed a race condition and a multiple request problem.
* Cleaned up the code for the progressbar widgets.
* Standarized unix domain sockets with AF_LOCAL for portability.
* Minor cleanups for a smooth compile on older systems (libc5).
* Fixed the handling of P element for the HTML nesting checks.
* Set Ctrl-B for bookmarks shortcut (instead of Alt-B).
Patches: Jorge Arellano
- * Enhanced the speed of the actual selection of text.
* Added command line option --debug-rendering.
* Added "button_sensitive" attribute to DwWidget, which is needed to
make <BUTTON>'s accessable at all. (They were inaccessable since the
introduction of text selection!)
* Changed behaviour of DwButton, see NOTE at beginning of dw_button.c.
* Added "collapsing margins" to DwPage.
* Added CSS "list-style-type" and "display" equivalents to DwStyle, changed
definition of "font", replaced "nowrap" by "white-space", and renamed
"link" to "x_link".
* DwBullet now uses DwStyle for the bullet type, made necessary changes
in HTML parser.
* Changed DwStyleLength, now only pixel values and percentages are
supported. (For CSS, anything else will be done elsewhere.)
* Added word backgrounds to DwPage (not yet used.)
* Added the possibility to clip widget drawings (new function
p_Dw_widget_will_clip).
* Made images showing the ALT text as long as no image data has been
retrieved.
* Cleaned up event handling and related code: "link_*" signals now return
gboolean, and DwWidget events are signals.
* Moved DwRectangle and related to dw.c.
* Rewrote idle drawing, fixed BUG#202.
* Removed p_Dw_widget_queue_clear*.
* Added --enable-rtfl option to configure.
* Fixed a bug in findtext (wrong highlighting).
* Many changes in scrolling: added x coordinate (except for anchors), and
DW_[VH]POS_INTO_VIEW position. Added x coordinate also to DilloUrl.
Patches: Sebastian Geerken
- * Fixed bug in DwImage::link_clicked signal.
Patch: Stephan Goetter, Frank de Lange (simultaneously and independent :-)
- * Fixed memory leak in Html_tag_open_isindex.
* Added numerical keypad cursor keys navigation.
* Changed return values of Dw event methods from gint to gboolean.
* Cleaned up debug message generation by using glib wrappers.
* Replaced DwStyle::SubSup by new DwStyleVAlignType values, and
DwStyle::uline and DwPage::strike by new DwStyle::text_decorations.
* Added new convenience macros DW_WIDGET_HEIGHT, DW_WIDGET_CONTENT_HEIGHT,
and DW_WIDGET_CONTENT_WIDTH.
* Added configure options to disable either: png, jpeg or gif.
* Fixed configure.in for proper library linking for dpis and dpid.
* Improved libpng detection.
Patches: Jrgen Viksell
- * Fixed wrong handling of coordinates in ISMAP and USEMAP images.
* Added a hand-shaped cursor to input controls of type image.
* Fixed a off-by-one memory leak in Dw(Ext)Iterator.
* Fixed NULL result handling of p_Dw_widget_text_iterator() in DwBullet,
DwHRuler and DwImage.
* Made dpid/Makefile.am aware of $(DESTDIR).
* Fixed wrong return value of a_Findtext_search for widget == NULL.
Patches: Frank de Lange
- * Fixed a bug in Dw cursor code.
Patch: Frank de Lange, Sebastian Geerken
- * Corrected marshal functions for DwWidget signals.
Patch: Anders Gavare, Sebastian Geerken
- * Added support for anchors using the "id" attribute (BUG#495).
* Defined dillo's version-string in one place only: configure.in.
Patch: Francis Daly
- * Removed a segfault source with corrupted MIME types in HTTP (BUG#501).
* Made SPAM-safe URLs aware of image buttons (BUG#508).
Patch: Francis Daly, Jorge Arellano
- * Added a web search dialog (with toolbar icon, shortcut: Ctrl-S).
The search engine can be set in dillorc (defaults to google).
Patch: Johan Hovold, Jorge Arellano
- * Fixed a problem with libpng options detection (configure.in).
Patch: Rubn Fernndez
- * Added "pthreads" (with an "s") detection to configure.in.
Patch: Andreas Schweitzer
- * Added the "-geometry" switch to the CLI.
Patch: Jorge Arellano, Jan Dittmer
dillo-0.7.3 [Aug 03, 2003]
- * Some more selection goodies:
- Redesign of the selection state model, now the selection is preserved
as long as possible.
- Highlighted text is now drawn inverse (new DwWidget::bg_color).
- Selection of images, list bullets and hrulers (as text), with a common
text iterator for the respective widgets.
* Borders may now be drawn inverse (needed for selection).
* Improved the speed when selecting large areas. (BUG#450)
* Fixed a bug in DwPage extremes.
* Fixed a wrong implementation of incremental resizing for DwPage.
(Affected functions: Dw_page_rewrap and a_Dw_page_add_widget)
* Fixed a bug in a_Dw_widget_size_allocate.
* Made jumping to anchors faster (removes CPU hog).
* Fixed a bug in Dw_page_get_extremes().
* Made (invalid) <li>'s without <ol> or <ul> defined, and independent of
each other.
* Fixed rendering of <frameset>.
Patches: Sebastian Geerken
- * Made a new set of toolbar icons!
Patch: John Grantham (http://www.grantham.de/)
- * Added support for the hspace and vspace attributes of the IMG tag.
* Made only left button activate the image input type (BUG#367,#451).
* Fixed SELECT with "multiple" but without "size" (BUG#469).
Patches: Jrgen Viksell
- * Added titles to bookmark server's html pages.
Patch: Kelson Vibber
- * Made IFRAME to be handled like FRAME (shows link).
Patch: Nikita Borodikhin, Jorge Arellano
- * Fixed a bug in 'a_Misc_stristr' that permeated findtext. (BUG#447)
Patch: Jorge Arellano, "squirrelblue"
- * Finished handling of single and double quotes inside dpi tags.
* Fixed a bug for named-entities' character codes greater than 255.
* Introduced a small UCS to Latin1 converter to help rendering.
* Added a check for Unix98's "socklen_t" (BUG#466).
* Added the missing EINTR handlers in IO.c and file.c.
* Fixed the problem of adding garbage anchors.
Patches: Jorge Arellano
dillo-0.7.2 [Apr 30, 2003]
- * Implemented text selection! (aka: Copy&Paste) (BUG#59)
Patch: Sebastian Geerken, Eric Gaudet
- * Fixed IPv6 support when the unthreaded server is used.
Patch: Damien Couderc, Jorge Arellano
- * Fixed the IPv6 socket connection code for *BSD.
Patch: Daniel Hartmeier, Jorge Arellano
- * Made the URL_SpamSafe flag be inherited by the BASE element.
Patch: Melvin Hadasht
- * Switched configure.in to use AC_CANONICAL_SYSTEM instead of 'uname'.
Patch: Patrice Mandin
- * Added "image/x-png" to MIME types (obsolete, but should be recognized).
Patch: Paolo P.
- * Fixed the code that handled the installation of "dillorc".
Patch: Andreas Schweitzer
- * Fixed a lot of glitches in configure.in: notably libpng and libjpeg
detection, enabling and disabling. (BUG#: 386, 407, 392, 349)!
Patches: Andreas Schweitzer
- * Fixed two leaks in Dw(Ext)Iterator.
Patches: Jrgen Viksell
- * Repaired some minor misbehaviours in the cookie-strings parser.
Patches: Jrgen Viksell, Jorge Arellano
- * Enabled entities parsing in HTML-given hidden and password values.
Patch: Jorge Arellano, Francis Daly
- * Implemented character stuffing in dpi (Fix bookmarks with quotes) BUG#434.
* Added a HTML warning message for META outside HEAD.
* Removed a segfault source when the server doesn't send content/type info.
* Added file type detection for filenames without extension.
* Removed the warnings detected with gcc 3.2.2.
* Fixed the VERBATIM parsing mode and replaced the SCRIPT mode with it.
* Fixed the problem with CR handling in TEXTAREA (BUG#318).
* Fixed initial value parsing within TEXTAREA tags (BUG#400).
* Fixed loading files with spaces in the name (command line) BUG#437.
Patches: Jorge Arellano
dillo-0.7.1.2 [Mar 11, 2003]
- * Fixed a bug in the bugfix that used uninitialized memory contents
causing all kind of undesirable side effects.
Patch: Andreas Schweitzer
dillo-0.7.1 [Mar 10, 2003] -- bugfix release
- * Fixed the setting of the FD_CLOEXEC flag.
Patch: Raphael Barabas
- * Added an automatic file-locking alternative for systems lacking flock().
Patch: Yang Guilong
- * Fixed a memory leak with pixmaps.
Patch: Keith Packard
- * Fixed the link color switch with scroll wheel mouses (BUG#348)
Patch: Stephen Lewis
- * Made the bookmarks server keep a backup file: bm.txt.bak.
* Fixed not loading the bookmarks file (and erasing the bookmarks).
* Added some missing EINTR handlers.
* Added a handler for unresponsive dpi sockets!
* Restricted dpi-requests to dpi-generated pages only.
* Used -1 instead of WAIT_ANY (some systems don't have it). (BUG#413)
* Fixed a source bug when G_DNS_THREADED is not defined. (BUG#421)
* Switched sprintf to g_snprintf which is safer.
Patches: Jorge Arellano
dillo-0.7.0 [Feb 17, 2003]
- * Added IPv6 support! [./configure --enable-ipv6] (BUG#351)
Patch: Philip Blundell
- * Fixing char escaping/encoding problems with file URIs (BUG#321)
* Fixing buffer overflow sources in file.c.
* Switched the image tooltip from "alt" to "title" attribute.
Patch: Francis Daly, Jorge Arellano
- * Added code so that tooltips stay within the screen.
Patch: Pekka Lampila, Sebastian Geerken
- * Fixed a problem occurring when scrolling with the "b" key.
Patch: Livio Baldini
- * Fixed a memory leak in DwAlignedPage.
Patch: Jrgen Viksell, Sebastian Geerken
- * Moved stuff into remove_cookie() and add_cookie() functions.
* Made cookies sort once in add_cookie().
* Removed some unneeded casts and calls in cookies.
* Repairing some minor misbehaviours in Cookies_parse_string().
Patches: Jrgen Viksell, Jorge Arellano, Madis Janson
- * Fixed a bug in Dw_widget_mouse_event.
Patch: Jrgen Viksell
- * Fixed a bug in DwPage ("height" argument).
Patch: Pekka Lampila
- * Removed a segfault source in http.c
Patch: Madis Janson
- * Removed space around tables.
* Implemented the <button> tag! (BUG#276)
* Added iterators (DwItetator, DwExtItetator, DwWordItetator).
- Rewrote findtext, added highlighting and "case sensitive" option.
- Improved findtext dialog placement too!
* Implemented "ALIGN = {LEFT|RIGHT|CENTER}" for <table>, and
"ALIGN = {LEFT|RIGHT|CENTER|JUSTIFY}" for <tr>.
* Implemented character alignment, applied it on ALIGN=CHAR and CHAR for
<tr>, <td> and <th>.
- New widget DwTableCell.
- Some smaller changes in DwAlignedPage and DwPage (virtual word_wrap,
ignore_line1_offset_sometimes).
* Implemented vertical alignment of table cells.
- Changed behavior of Dw_page_size_allocate.
- Applied it on "VALIGN={TOP|BOTTOM|MIDDLE|BASELINE}" for <tr>, <td> and
<th>.
- Fixed splash screen.
* Set the height of <BR>'s in non-empty lines to zero.
* Moved some code from html.c to a_Dw_page_change_link_color.
* Made bullets size depending on the font size.
* Fixed too wide widgets in lists (e.g. nested lists).
Patches: Sebastian Geerken
- * Added support for <input type=image...> (BUG#313)
Patch: Madis Janson, Sebastian Geerken, Jorge Arellano
- * Made a better EAGAIN handler, and enabled FreeIOVec operation in IOWrite.
Patch: Jorge Arellano, Livio Baldini
- * Fixed include directives for config.h
Patch: Jorge Arellano, Claude Marinier
- * Made lots of minor cleanups.
Patches: Lex Hider, Jorge Arellano, Rudmer van Dijk
- * Added a simple command line interface, and enabled some options (BUG#372).
* Added full-window option in command line and dillorc.
* Added an option to set offline URLs from CLI.
* Made dillo embeddable into other GTK applications.
Patches: Jorge Arellano, Melvin Hadasht
- * Made drafts for dillo plugins protocol (dpi1)
Work: Jorge Arellano, Eric Gaudet
- * Avoided a file lock when cookiesrc disables cookies (BUG#358).
* Fixed scroll-jumping between widgets when pressing Up&Dn arrows.
* Added a tiny warning/handler for meta refresh.
* Concomitant Control Chain (CCC):
- Extended the theory to allow bidirectional message passing.
- Renewed the API.
- Improved the debugging code.
- Redesigned the old CCCs, and made a new one for plugins (dpi).
- Reimplemented dillo's core with the new chains.
* Input/Output engine (IO):
- Extended the functionallity with a threaded operation that
allows buffered writes of small chunks on the same FD.
- Created a new IO API, and adapted dillo to it.
* Used the new CCC and IO to implement dillo plugins! (dpi).
* Implemented the internal support for a bookmarks dpi.
* Wrote a dpi-program for bookmarks.
* Created capi.c, a meta module for cache.c.
* Restructured Html_write so custom HTML can be inserted.
* Set BackSpace and Shift+BackSpace to work as Back/Forward buttons.
* Set the escape key as a dialog closing shortcut.
* Removed a segfault in find text with a string of spaces (BUG#393)
* Added wrappers/whitespace filtering for pasted/typed/CLI URLs. (RFC-2396)
* Added an HTML warning message for illegal characters inside URLs.
* Made dpi communication go through unix domain sockets.
* Enabled dillo to launch the bookmarks plugin!
* Made some cleanups in IO/.
Patches: Jorge Arellano
dillo-0.6.6 [May 30, 2002]
- * Added a few canonical casts to fix some obvious 64bit issues.
Patch: pvalchev
- * Fixed a bug with cookies path parsing.
* Fixed persistent-cookies obliteration (BUG#312, BUG#314)
* Set max 20 persistent cookies for each domain.
Patches: Jrgen Viksell
- * Switched flock to lockf.
Patch: Andreas Schweitzer
- * Made a little bugfix in doc/Makefile.am.
Patch: Grigory Bakunov
- * Removed the < 256 hostname length restraint from http queries.
* Made a date-parser that copes with three HTTP date-syntaxes (BUG#335)
* Made the HTML parser a bit more robust with bad HTML (BUG#325, BUG#326)
Patches: Jorge Arellano
dillo-0.6.5 [Apr 26, 2002]
- * Improved a bit table rendering speed.
Patch: Mark Schreiber
- * Extended Dw crossing events.
Patch: Sebastian Geerken
- * Added code to autoresize the "View source" window (BUG#198).
Patch: Andreas Schweitzer
- * Improved *BSD detection code at './configure' time.
Patch: Andreas Schweitzer, Jorge Arellano
- * Added a (pthread_t) cast in dns.c
* Fixed a problem with #fragment hash-lookup (in anchors_table).
* Added code to install/test usr/local/etc/dillorc (BUG#287)
* Added control-character filtering for pasted/typed URLs.
* Replaced the old cache list with a hash table!
Patches: Livio Baldini
- * Fixed a momentous memory leak in png decoding.
* Fixed a segfault source in GIF colormap handling.
Patch: Livio Baldini, Jorge Arellano
- * Added fontname selection to dillorc.
Patch: Arvind Narayanan
- * Removed a segfault source under G_IO_ERR conditions in IO.c.
Patch: Madis Janson
- * Removed a wild deallocation chance in klist.c
Patch: Pekka Lampila
- * Fixed saving of pages that result from POST.
Patch: Nikita Borodikhin
- * Fixed a tiny bug with dillorc parsing on certain locales (BUG#301)
Patch: Lars Clausen, Jorge Arellano
- * Added support for cookies! RFC-2965 (BUG#82)
Patch: Jrgen Viksell, Lars Clausen, Jorge Arellano
- * Added code to detect redirect-loops (BUG#260)
Patch: Jorge Arellano, Chet Murthy
- * Added support for missing Content-Type in HTTP headers (BUG#216)
* Added support for a bare '>' inside attribute values (BUG#306)
Patch: Jorge Arellano, Andreas Schweitzer
- * Allowed enter to submit forms when there's a single text entry.
* Added 'generate_submit' and 'enterpress_forces_submit' to dillorc.
Patch: Jorge Arellano, Mark Schreiber.
- * Added support for rendering adjacent <BR>, Tabs in <PRE>, and linebreak
handling (BUG#244, BUG#179, BUG#291).
Patch: Jorge Arellano, Mark Schreiber, Sebastian Geerken.
- * Switched a_List_* methods to three parameters (and wiped BUG#286)
* Fixed two little bugs within url.c (BUG#294)
* Created an API for nav_stack usage (a handy cleanup).
* Set the attribute parser to trim leading and trailing white space.
* Fixed a problem with NULL requests to the dns (BUG#296).
* Added Tru64(tm) detection code at './configure' time.
* Fixed the parser to skip <style> and <script> contents (BUG#316).
* Bound the space key to PgDn, and 'b' | 'B' to PgUp.
* Allowed 'query' and 'fragment' in POST submitions (BUG#284).
* Changed the url module API (the URL_* macros), and updated the calling
modules, removing several potential bugs at the same time --toilsome.
Patches: Jorge Arellano
dillo-0.6.4 [Jan 29, 2002]
- * Implemented remembering of page-scrolling-position! (BUG#219)
Patch: Jorge Arellano, Livio Baldini
- * Moved jpeg's include directory from CFLAGS to CPPFLAGS in configure.in
Patch: John L. Utz, Lionel Ulmer
- * Made a standarization cleanup to every *.h
* Cleaned some casts to use the GPOINTER_TO_INT and GINT_TO_POINTER macros.
* Added the 'static' qualifier to some module-internal variables.
* Added the 'static' qualifier to module-internal functions!
Patches: Jrgen Viksell
- * New widget DwAlignedPage for alignment of vertical arrays.
- New widget DwListItem for nicer list items (based on some extensions
of DwPage) BUG#271.
* Implemented text alignments (except CHAR).
- Extension of DwStyle and DwPage.
- Applied it on "ALIGN = {LEFT|RIGHT|CENTER}" for <hr>, and
"ALIGN = {LEFT|RIGHT|CENTER|JUSTIFY}" for <p>, <hN>, <div>, <td> and
<th>. Implemented <center> --BUGs #215, #189.
* Small change in DwPageWord (space_style), fixes problems with spaces and
underlining (BUG#278).
Patches: Sebastian Geerken
- * Added 'force_visited_colors' to dillorc. It asserts a different color
on visited links, regardless of the author's setting.
Patch: Jorge Arellano, Sebastian Geerken
- * Updated and improved several #include directives inside *.c
* Added history.c for linear history and scroll-position tracking.
Now the navigation-stack references linear history and nav-expect
holds a DilloUrl (history.c provides an API).
* Fixed a rare data-integrity race-condition with popups (BUG#225)
* Made small icons a bit narrower.
* Fixed a problem with image-maps handling code (BUG#277)
* Added support for several domains in dillorc's 'no_proxy' variable.
* Fixed a small boundary-bug in named-colors parsing.
* Implemented IOs validity-test with klist (avoids a rare segfault source).
Patches: Jorge Arellano
dillo-0.6.3 [Dec 23, 2001]
- * Removed a_Dw_widget_set_usize.
* Removed *_indent in DwStyle, this is now done by nested widgets.
* List items are now single widgets, this fixes bug #78.
* Extended queue_resize and related code, removed fast resizing.
- Applied these changes on DwPage (many changes!).
* Changes in requisition of DwPage.
* Added a nice indenter to the pagemarks! ("Jump to..." menu).
Patches: Sebastian Geerken
- * Reworked the dicache to use a hash table and use image versions.
* Wiped some dicache glitches, and added a dillorc option turn it off!
(reducing memory usage significatively).
Patches: Livio Baldini
- * Added support for OSes that use a slightly different 'struct sockaddr'.
Patch: Johan Danielsson
- * Removed a cache leak when reloading (BUG#257).
Patch: Livio Baldini, Jorge Arellano
- * Added full-screen mode! (left double-click toggles it).
Patch: Jorge Arellano, Sebastian Geerken
- * Extended interface customization options in dillorc (a must for iPAQ).
Patch: Jorge Arellano, Sam Engstrm
- * Rewrote the whole tag-parsing code with a new scheme (single pass FSM!)
(BUG#190, BUG#197, BUG#207, BUG#228, BUG#239) --Big work here.
Patch: Jorge Arellano, Jrgen Viksell
- * Set form encoding to escape everything but alphanumeric and -_.* (BUG#236)
* Rewrote Html_tag_open_input.
* Extended BACK and FWD key shortcuts to: {ALT | MOD*} + {, | .} :-)
* Fixed URI fragment parsing (BUG#247).
* Centered FindText and OpenUrl dialog windows.
* Structured dillorc (now it's more readable! ;)
* Added a dillorc option to force transient_dialogs.
* Fixed a subtle bug with HTTP end-to-end reload (BUG#234).
* Fixed form submition when action has <query> or <fragment> (BUG#255)
* Added fast URL resolving methods! (96% rfc2396 compliant by now) BUG#256
* Switched form-urlencoded CR to be sent as CR LF pair (BUG#266).
* Fixed leaving open FDs when the socket connection fails (BUG#268).
Patches: Jorge Arellano
dillo-0.6.2 [Oct 17, 2001]
- * Added code to parse away <?...> tags (BUG#203).
Patch: Sebastian Geerken
- * Made an explicit ISO8859-1 requirement in font loading (BUG#193).
Patch: Karsten M. Self
- * Added a temporary handler for frames! (lynx/w3m like).
Patch: Livio Baldini
- * Added gtk_set_locale to dillo's init sequence (BUG#173).
Patch: Eric Gaudet, Martynas Jocius
- * Added support for <big> and <small> tags (BUG#221).
Patch: Livio Baldini, Jorge Arellano
- * Added back and forward history popup menus! (BUG#227)
Patch: Jorge Arellano, Eric Gaudet, Olaf Dietsche
- * Removed anchors from to-proxy queries (also added some checks, BUG#210).
* Removed a leak in url.c
* Fixed a bug with command-line HTML files that reference images (BUG#217).
* Improved status-bar messages a bit, modified toolbar pixmaps and
reduced the number of a_Url_dup calls.
* Set Ctrl-Q to close window and Alt-Q to quit.
* Devised an abstract model for parsing, wrote it into HtmlParser.txt and
made dillo compliant with it!
* Fixed CR/LF entities parsing inside <PRE> (BUG#188)
* Added an error message for unsupported protocols (BUG#226)
* Removed some warnings detected with different gcc versions.
Patches: Jorge Arellano
dillo-0.6.1 [Sep 13, 2001]
- * Changed calculation of shaded colors.
* Eliminated redundant code when drawing background colors.
* Fixed a bug in DwStyle drawing functions.
* Fixed a bug in Dw_page_calc_widget_size.
* Some changes for <hr> (also BUG#168).
* Added <tr> backgrounds.
Patches: Sebastian Geerken
- * Added support for hexadecimal character references, as ¡ (BUG#183)
Patch: Liam Quinn
- * Replaced atoi(3) calls with strtol(3).
* Made path comparison case sensitive in a_Url_cmp.
Patches: Livio Baldini
- * Added a tiny handler for <DIV>
Patch: Robert J. Thomson
- * Fixed a segfault source in color parsing, and extended it a bit.
Patch: Scott Cooper, Jorge Arellano
- * Removed a leak with the DilloImage structure (when image is not found).
* Fixed (and made faster) Url_str_resolve_relative (BUG#194)
Patch: Jorge Arellano, Livio Baldini
- * Added parsing support for %HexHex escape sequences in file URIs
Patch: Jorge Arellano, Livio Baldini, Agustn Ferrn :)
- * Implemented Ctrl-W (close window) (BUG#87)
Patch: Jorge Arellano, Martynas Jocius
- * Fixed a segfault when dillo cannot access ~/.dillo for some reason.
Patch: Jorge Arellano, Amit Vainsencher
- * Fixed the segfault from untrue Content-Length in HTTP header (BUG#187)
* Fixed closing an active browser window from the window manager (bug#91)
* Eliminated anchors from HTTP queries (BUG#195)
* Fixed the repeated reload segfault (BUG#69)
* Updated some docs in doc/ dir.
* Added a keyed-list ADT (klist.[ch])
* Removed a segfault source in dns.c.
* Massive changes in Cache module: redesigned the external and internal API,
implemented new methods, changed several algorithms, removed transitory
and obsoleted code, removed a segfault source and improved CCC operations.
* Changes in Http module: extended error handling, improved abort sequences,
and added code that's aware of race conditions (based on klist ADT).
* Uniformed CCC start operation in IO, http and cache modules.
Patches: Jorge Arellano
dillo-0.6.0 [July 31, 2001]
- * Fixed a bunch of memory leaks!
* Fixed links on pages with only one line, tuned text-entries size and
fixed the HTTP header problem (BUG#180)
Patches: Jrgen Viksell
- * Improved dialogs handling: find_text, view_source, open_url, open_file,
save_link and save_page (also removed a leak here).
Patches: Jorge Arellano, Jrgen Viksell
- * Modified GtkDwScrolledWindow and GtkDwViewport, now scrollbars work much
better. This also fixes of the wrong viewport length (BUG#137).
* Implemented tables! (incomplete)
- Changes in Dw: DwTable and DwWidget::get_extremes.
- html.c: extended DilloHtmlState, added code for table parsing, moved
some attributes from DwPage into the HTML linkblock.
* Restructured code for image maps (works now with tables).
* Removed "alt" attribute from <a> tag (no standard).
* Fixed a bug in a_Url_dup.
* Extended Dw events: leave_notify_event is now called for more widgets.
* Extended DwPage and DwImage signal "link_entered".
* Extended DwStyle by CSS-style boxes, background colors and border_spacing:
- Implemented borders around image links (BUG#169).
* Fixed the wrong PNG background? (BUG#172)
* Corrected handling of styles by the html parser.
* Added alternative, "fast" resizing method.
* Added a simple possibility to scroll long option menus (BUG#158)
* Added backing pixmap, this prevents flickering (BUG#174).
* Changes and extensions in handling lenghts, see doc/DwStyle.txt.
* Added option "limit_text_width".
Patches: Sebastian Geerken
- * Added nowrap attribute to DwStyle, and applied it to <pre> (BUG#134),
<td> and <th>.
Patch: Jrgen Viksell, Sebastian Geerken
- * Added a_List_resize to list.h methods.
* Added debug.h to standarize debugging messages.
Patches: Sebastian Geerken, Jorge Arellano
- * Added file selection while saving pages or links.
Patch: Livio Baldini
- * Added a few 'const', a missing header and some strength reductions.
Patch: Aaron Lehmann
- * Made dillo to also check '/etc/dillorc' for options.
Patch: Eduardo Marcel Maan, Jorge Arellano
- * Made a help page, and linked it to 'about:help' (BUG#72)
Patch: Jorge Arellano, Kristian A. Rink
- * Added an "alt" camp to DilloUrl
* Fixed the linkblock memory-leak (BUG#163)
* Fixed local file loading from the command line (BUG#164)
* Fixed server-side image maps support (BUG#165)
* Added code for accel-keys on toolbar buttons
* Fixed the segfault with unconnected servers (BUG#170)
* Fixed the open HTTP-sockets problem (BUG#171)
* Reimplemented the low-level file descriptor handling with GIOChannels
(and dillo became even faster!)
* Made reload-button to request an end-to-end reload (BUG#64)
* Fixed the multiple-POST problem, and added a confirmation dialog (BUG#175)
* Finished fixing the repeated link-click problem (BUG#74)
* Misc: rewrote the 'about:splash' method, tuned DwPage for minimal
memory usage, improved a_Color_parse and Html_read_coords, cleaned-up
popup-menus and linkblock initialization, eliminated a lock-source in
Html_parse_length.
* Added DEBUG_HTML_MSG macro for invalid HTML messages.
* Fixed the nav-stack (and multiple #anchors) problem (BUG#177)
* Added code to avoid segfaults with unhandled MIME types.
* Fixed dns.c from solving the same address on different channels (BUG#178)
* Improved error handling and extended the CCC scope! (mainly HTTP).
* Fixed a Dw-leak that was affecting: hr, bullets, images, tables (&pages)!
* Made several cleanups and added/fixed comments in various places.
* Reimplemented find-text with a faster algorithm and extended semantics!!
* Fixed some oddities with our autoconf stuff.
Patches: Jorge Arellano
dillo-0.5.1 [May 30, 2001]
- * Designed a new URL handling scheme, and integrated it throughout the code!
Patch: Livio Baldini, Jorge Arellano
- * Removed a significative memory leak in dw_page.
* Added support for EAGAIN in IO.c
Patches: Livio Baldini
- * Removed 6 memory leaks! (of varying significance)
Patches: Jrgen Viksell
- * Fixed a bug in DwPage (BUG#162, crash when clicking on links).
* Removed a_Dw_gtk_viewport_queue_anchor and related code (becomes obsolete
with the new URL handling scheme).
* Speed-optimized key moving in GtkDwScrolledFrame (no more blocking).
* Fixed two memory leaks, in Dw_style_color_remove, and
Dw_style_font_remove.
Patches: Sebastian Geerken
- * Implemented the splash screen with "about:" (No more splash-file saving!)
* Set all pthreads to run in detached state.
* Reworked dillo's interface so now there're six options; available by
changing 'panel_size' and the new 'small_icons' in dillorc.
* Removed a minor leak in dns.c and a wild-deallocation source.
Patches: Jorge Arellano
dillo-0.5.0 [May 10, 2001]
- * Implemented <IMG> ALT as tooltip.
* Fixed bug #135 (incorrect update of statusbar when leaving "ismap" img).
Patches: Livio Baldini, Sebastian Geerken
- * Completed image scaling (BUG#75).
Patch: Sebastian Geerken, Jorge Arellano
- * Fixed proxy support (BUG#150).
Patch: Livio Baldini
- * Fixed two bugs in the Dw event handling.
* Fixed bugs in DwEmbedGtk and GtkDwViewport: idle functions are now
removed properly.
* Fixed bug in DwEmbedGtk (added call of parent_class->destroy).
* Moved DwPageAttr into a new submodule (DwStyle).
- Applied DwStyle to DwBullet (BUG#146).
- Implemented immediate changing of link color provisionally (BUG#152).
* Fixed positioning of headers (half of BUG#118).
* Fixed rendering of <b><i> and <i><b> (BUG#145).
* Fixed unrecognized dillorc text_color setting (BUG#151).
Patches: Sebastian Geerken
- * Changed word/line structure of DwPage
* Improved FORM sending (standar name/value submits) and processing;
added READONLY, SIZE, MAXLENGTH attributes, type=BUTTON and some cleanups
* Fixed VERBATIM parsing mode (BUG#130)
* Fixed a bug in calculating the page width (BUG#136)
Patches: Jrgen Viksell
- * Added a dillorc option to set the location entry within the menu bar.
Patch: Eric Gaudet
- * Integrated some modifications to ease compiling on GNU Darwin.
* Added support for leading whitespaces in HREF (BUG#120)
* Fixed anchor's hash_table and a few more quirks (were warnings on Alpha)
* Fixed entities parsing in URI attributes (BUG#114)
* Fixed stop button's sensitivity on plain files (BUG#142)
* Made filesize more accurate on directory listings (BUG#143)
* Introduced the new Concomitant Control Chain (CCC) design!
- All the way in the quering branch
- Halfway in the answering branch
- Introduced more error handling and status messages
- Started implementing error control using the CCC!
- Fixed too much caching (BUG#84)
- Fixed a CPU hog error condition (BUG#144)
- Eliminated the segfault from outdated dns answers (BUG#140)
- Fixed repeated Back (faster than rendering) segfault.
* Cleaned the header include files
* Incremented the valid-charset for dillorc identifiers (BUG#149)
* Added support for unterminated quotation of attribute values (BUG#155)
Patches: Jorge Arellano
dillo-0.4.0 [March 3, 2001]
- * Rewrote most of the Dw module from scratch:
- Page widget: ported, added support for relative sizes of widgets, and
changed behaviour for pressing button 2 on a link.
- Removed the now unnecessary event boxes for check and radio buttons.
- Modified the code outside to use new Dw.
* Started to implement relative sizes for images (in html.c)
* Implemented attributes WIDTH, SIZE and NOSHADE of the <hr> tag.
* Added focus adjustment for selection lists (<SELECT>)
* Implemented TAB, Shift+TAB navigation in FORMS (BUG#86)
Patches: Sebastian Geerken
- * Included a scaling font_factor into dillorc!
Patch: Bruno Widmann
- * Fixed bugs #125 and #129 (menu item focus and radio reset in forms)
Patch: Jrgen Viksell
- * Added code to ignore anything inside STYLE tags.
Patch: Mark McLoughlin
- * Implemented image rendering based on GdkRGB and DwImage!
* Fixed 4 bit color planes support, cleaned the image code,
removed a few leaks and added documentation (Images.txt).
* Ported every patch from 0.3.2 to 0.4.0
Patches: Jorge Arellano
dillo-0.3.2 [February 22, 2001]
- * Added the option to use oblique font instead of italic (dillorc)
Patch: Eric Gaudet, Sebastian Geerken, Jorge Arellano
- * Changed Dw_page_find_line_index to use a binary search
Patch: Eric Gaudet, Jorge Arellano
- * Added a visual hint for visited links (BUG#117)
* Repaired the dillorc parser to skip unknown symbols (BUG#119)
Patch: Eric Gaudet
- * Fixed the segfault for controls outside FORM and SELECT elements (BUG#121)
Patch: Eric Gaudet, Jrgen Viksell
- * Added support for SUB and SUP tags (BUG#115)
Patch: Jrgen Viksell
- * Added a geometry directive to dillorc (sets initial browser size)
Patch: Livio Baldini, Jorge Arellano
- * Fixed bookmarks loading in new browser windows (BUG#110)
* Included a workaround for BUG#71
Patch: Livio Baldini
- * Fixed a CPU hog when clicking ftp URLs (BUG#123)
* Set a 64 bytes threshold on pagemark headers
Patch: Jorge Arellano
- * Added check for negative image sizes.
Patch: Livio Baldini, Sebastian Geerken
dillo-0.3.1 [December 22, 2000]
- * Implemented basic Find-text functionality
Patch: Sam Dennis, Sebastian Geerken, Allan Clark and Jorge Arellano :-)
- * Implemented "Pagemarks" (Kind of a headings-based page index!)
Patch: Sebastian Geerken and Eric Gaudet
- * Fixed nested-lists numbering, and added support for "type" (BUG#76)
* Added support for image maps, both usemap and ismap! (BUG#27)
* Set "on" as default value for check boxes
Patch: Eric Gaudet, Jorge Arellano
- * Added "Copy link location" to the link menu
Patch: Eric Gaudet
- * Removed redundant functions from misc.c
* Added support for BASE, CODE, DFN, KBD, SAMP and VAR tags (BUG#106)
* Added support for TAB characters in plain text files (BUG#112)
Patches: Jrgen Viksell, Jorge Arellano
- * Fixed a_Url_squeeze (BUG#100)
Patch: Livio Baldini, Jorge Arellano
- * Added gamma support and basic transparency for PNG images (BUG#60)
* Moved menu_popup into the 'bw' structure (BUG#96)
* Fixed the gif decoder to get image size from the right place (BUG#98)
* Made the new browser window size the same as the parent (BUG#55)
Patch: Livio Baldini
- * Added support for ISINDEX method (BUG#15)
Patch: Sam Dennis
- * Added support for bare '<' character parsing
* Removed every sign-conflict warnings given by gcc with '-W -Wall'
* Fixed several identation problems (rendering)
* Implemented "Save link as" (link menu)
* Removed the subtle bug that used to segfault when deleting and processing
queue clients at the same time (BUG#111).
* + Some comments, cleanups, size reductions, minor optimizations etc.
Patches: Jorge Arellano Cid
dillo-0.3.0 [November 13, 2000]
(Lots of patches are pending!)
- * Added support for <strike>, <s>, <del> and <u> tags.
Patch: Jrgen Viksell
- * Fixed a bug in #anchors code
Patch: Sebastian Geerken
- * Parsed text between script tags, out of the rendering part.
* Added support for decimal entities that start with 0.
* Added some comments to html.c
Patches: Sean 'Shaleh' Perry
- * Added support for corrupted png images (avoids segfaults!)
Patch: Eric Gaudet, Jorge Arellano
- * Fixed empty title bookmarking (BUG#85 and #88)
Patch: Livio
- * Fixed view-source to take its URL from the right place.
Patch: Sam Dennis
- * Added font support for the compaq iPaq linux distribution.
Patch: Eric Christianson
- * Fixed spaced attribute parsing (BUG#79).
* Fixed concurrent save and downloading!
* Added alpha support for external (simple) plugins.
? * Added a workaround (maybe a bug fix) for BUG#77 (No segfault).
* Introduced a new design layer between the IO and Dw:
- The imgsink stuff was completely removed.
- The dicache was rewritten from scratch and integrated
into the normal cache.
- A single client queue is being used for both caches.
- The file descriptors were replaced by cache keys that serve
as connection handlers.
- The image data structure and related sources got changed.
- Every decoder (png, gif, jpeg) was adapted to the new scheme.
* Fixed the file-images caching problem and the associated memory-leaks.
* Improved progress bar accuracy for images.
* Added progress bar functionality for plain text (+comments +cleanups)
* Fixed the right-click-over-plain-text segfault (BUG#80).
* Started improving the right-mouse-button menus.
Patches: Jorge Arellano Cid
dillo-0.2.4 [August 21, 2000]
- * Fixed the white square bug with PNG images (BUG #4)
Patch: Luca Rota
- * Added support for #anchors! (BUG #10)
* Added support for resolving relative #anchors (BUG #65)
Patches: Sebastian Geerken
- * Fixed a segfault-source that produced BUG #61.
* Made several cleanups and standarizations in html.c
* Extended entity-parsing scope, and the list of supported entities.
* Rearranged TagInfo data into a new structure.
* Added the base for refresh support in META tags.
Patches: Sean 'Shaleh' Perry
- * Added support for TEXTAREA tags!
Patch: Jrgen Viksell
- * Improved and fixed Html_parse_entities.
* Reimplemented the Stash buffer with a GString.
* Fixed a bug with \r\n-terminated HTML lines.
* Added redirection support for relative URLs (BUG #73).
* Added some comments and minor fixes to patches.
Patches: Jorge Arellano Cid
- * Linked "open link in new window" to mouse button #2 (#3 also works)
Patch: Eric Gaudet
dillo-0.2.3 [August 4, 2000]
- * Removed "search.h" include in http.c (freeBSD compatibility).
Patch: Kurt J. Lidl
- * Removed several memory leaks that were sprinkled through the code.
Patches: Jrgen Viksell
- * Fixed a segfault crash when hitting PgDn in the URL box (BUG #54).
* Removed a segfault source in commands.c
* Made some minor fixes to Dw and added more comments to the code.
* Made changes in dw_gtk_view.c, and fixed the rendering problem that
arise when changing from a scrolled page into another (BUG #58).
* Changes in hruler dynamic resize --not finished though.
* Removed a floating point exception bug in image handling code (image.c)
* Dramatically improved rendering speed!!! Most notably long HTML pages
with lots of links; Improvement ranges from 2 to 5 times faster! (aprox.)
* Fixed misplaced rendering of small pages (BUG #35)
* Fixed the bookmark bug with empty title strings (BUG #57, #67)
* Completed support for "\r", "\n" and "\r\n" in PRE tags.
* Fixed text rendering between multiple selection boxes (BUG #56)
* Added several minor enhancements (comments, formatting, speed, etc)
* Added extensive documentation! (IO.txt, DilloWidget.txt and Dw.txt)
Patches: Jorge Arellano Cid
dillo-0.2.2 [July 9, 2000]
- * Added a gtk_window_set_wmclass to all windows to prevent dialogs
from having the same size as the main window. (Ex: with Sawfish)
* Made some width and height changes to the SELECT-stuff
* Added "submit" to submit buttons without a value.
Patches: Jrgen Viksell
- * Fixed a segfault when calling "about:" method
Patch: Dominic Wong
- * Added an option to force dillorc-defined colors (Try it with slashdot!)
* Fixed display of encoded-URL-links on the status bar
Patches: Adam Sampson
- * Removed several compiler dependencies
(detected with lcc on a 64 bit machine)
* Modified mime.c and Url.c to use list.h, and eliminated hdlr.c
* Standarized unsigned types to glib all around the code
* Added some includes for libc5 compatibility
* Modified IO_callback to avoid a CPU-hog (it happened in some systems).
* Fixed a bug that added a trailing ampersand to GET and POST queries.
* FIxed attribute parsing. It had nasty side effects; as providing
wrong attribute values to POST and GET methods.
* Joined Url.c and url.c into a single module.
* Reimplemented URL resolving functions.
* Implemented a new parser for "file:" URLs (Try "file:" & "file:.").
* Removed child_linkblock and changed the HTML stack handling
(both changes result in a simpler, easier to understand code).
* Modified and removed a segfault source in Html_lb_new.
* Modified forms handling to be more tolerant with messy HTML.
* Linked "image/pjpeg" in MIME types (progressive jpeg)
* Fixed form submittion when there's no submit button (bug #49)
Now dillo can search on freshmeat, altavista, etc!
Patches: Jorge Arellano Cid
dillo-0.2.1 [June 17, 2000]
- * Modified the pixmaps for better interface perception ;)
* Modified Dw_gtk_view_adjustment_value_changed to update the visible
rectangle even though the widget is not realized; it seems to work!
* Implemented the horizontal ruler as a Dw --dw_hruler.[ch]
Fixed its expose problems (Bug #13). (todo: resizing).
* Changed Dw_gtk_progressbar module to "progressbar" --naming stuff
* Added Content-length in file headers (avoids reallocations)
* Modified form submittion and encoding to use dynamic memory allocation
* Eliminated a dns.c hack that passed an int as a void* ;)
* Updated the documentation with an extensive IO description.
Patches: Jorge Arellano Cid
- * Added some functionality to reload button (not complete yet)
Patch: Luca Rota , Jorge Arellano Cid
- * Fixed hash handling within URL parsing. (Bug #9)
Patch: Marcos Ramrez , Jorge Arellano Cid
dillo-0.2.0 [June 2, 2000]
*** THIS IS A HALF-NEW BROWSER ***
- * Finally reimplemented the whole networking process (***BIG changes***)
Rewrote from scratch: IO, cache, web, http, socket, ...
Modified: gif, png, jpeg, html, nav, plain, ... (Every client)
All the querying, retrieving, caching and delivering is NEW!!!
* Eliminated CPU-hogging while waiting for a DNS query to complete
* Eliminated CPU-hogging when facing redirections
* Implemented basic redirection functionality
* Eliminated several segmentation fault bugs
* Modified autoconf stuff
* Modified source-code tree and libraries
* Reduced binary size
* Eliminated a memory leak in socket connections
* Created a new socket connection scheme
* Implemented Cache as the main networking abstraction layer
* Joined almost every URL-retrieving module into libDio
* Set the basis for save-link-as functionality (see save function)
* Modified the navigation stack to a cleaner design
* Improved status bar messages when connecting
* Changed some function names
* Created new pixmaps for the toolbar!
* Added a "new" button near the URL to clear the entry!
* Added a_List_remove to list.h
* Updated documentation in doc/
(README, Cache.txt, store.txt, Dillo.txt, Images.txt and IO.txt)
Patches: Jorge Arellano Cid
- * Added a workaround patch for BUG #35 (page expose problems)
Patch: Andrew McPherson
dillo-0.1.0 [Mar 30, 2000]
- * Fixed a bug that used to lock hostname queries.
('DNS can't resolve name' mesg.)
* Fixed the wrong parent link when browsing directory contents
* Changed the file/directory HTML-output-layout
* Finally rewrote the whole file.c module :-)
* Made Http_query buffer overflow-safe
* Commented and cleaned web.c
* Changed the licence to GPL. (Raph agreed on that)
* Fixed a tag-search bug in html.c; it produced rendering problems.
* Fixed a parsing problem with tags that were split on different lines
* Fixed the after-tables parsing problem
* Added a startup page
Patches: Jorge Arellano Cid
- * Fixed a bug with http queries that sometimes produced infinite loops
Patch: Marcos Ramrez
dillo-0.0.6 [Mar 9, 2000]
- * Readded an old, wiped-by-mistake, bug fix.
* Added preferences settings using a readable config (dillorc)
* Added a page-title trimmer facility (39 chars) to bookmarks saving.
Patch: Luca Rota
- * Fixed three memory leaks in bookmarks reading
* Added 'Open link in a new window' within the right button pop-up-menu
Patch: Sammy Mannaert
- * Fixed a bug that used to put two slashes on directory file anchors
* Actualized plugin.txt to current code base (and a bit of fix)
* Changed "fprintf(stderr..." to "g_print(..."
* Improved list.h
* Fixed image URLs both for HTTP and local files!
* Fixed tag attribute parsing (The trimmed-text-inside-buttons bug)
* Wrote several documentation files (placed them in doc/)
* Fixed transparent image rendering
* Implemented a binary search for HTML tags (just a bit faster)
* Small leak fixes and some corrections to http.c
* Made style fixes, added function comments and things like that.
Patches: Jorge Arellano Cid
dillo-0.0.5 [Feb 3, 2000]
- * Added progress bars (to be improved)
Patch: James McCollough, Jorge Arellano Cid
- * Rearranged, changed and commented the decompressed image cache code
* Fixed autoconf stuff to include zlib
* Added memory deallocating functions to cache, dicache, socket, http & dns
* Fixed memory leaks in jpeg.c, png.c and gif.c
* Made several changes in dw_page.c and dw_image.c
* Introduced 'list.h' source, and standarized the whole code to use it
* Fixed image rendering (Fixed algorithms and data structures) BIG CHANGES
* Removed some false comments and added true ones (I hope ;)
* Made several "standarizing" changes all over the code and
* some other changes (not worth listing)
Patches: Jorge Arellano Cid
- * Added support for 'text' and 'link' colors inside <BODY> tags
* Standarized all memory management to glib functions
* Fixed the plugin API to work again (forked)
* Removed a warning (remove not implemented for Dw_view and Dw_scroller)
* Solved the page-without-title bug in bookmarks.
Patches: Luca Rota
dillo-0.0.4 [Jan 4, 2000]
- * Removed the test widget
* Added a jpeg image decoder error-handler
Patches: Sammy Mannaert
- * Changed some ADTs to glib to be compatible with newer glibc2 systems
* Added background color alternative when bg. is white (or not specified)
* Improved connecting time status messages
Patches: Jorge Arellano Cid
- * Added background color support.
Patch: Luca Rota, James McCollough
- * Added support for <OL></OL> tags
* Added view-source and view-bookmarks functionality
* Improved PgUP/PgDown and Up/Down response. (No need to grab focus!)
* Fixed openfile gtk run-time warning
* Fixed the focus problem with text camps
* Fixed the title-linger bug with pages that don't specify title.
* Added a preliminary right button menu
* Added POST method support
Patches: Luca Rota
- * Added PNG image support.
Source Code: Geoff Lane, Patch: Jorge Arellano
dillo-0.0.3.tar.gz [Dec 18, 1999]
- * Finished the whole Naming&Coding effort!!!
Stage 2 worked by: Luca Rota and Jorge Arellano
- * Removed all compile time warnings (at least with gcc 2.7.2.3)
* Added more documentation inside the code
* Removed the '~/.dillo' directory creation bug.
* Integrated a patch for menu module
* Renamed menus.c to menu.c
* And some other minor things...
Patches: Jorge Arellano Cid
dillo-0.0.2.tar.gz [Dec, 1999 --Does anyone remember the day?]
- * Finished stage one of the naming&coding design (Hey, it's 1.3 Mb of code!)
Worked by: Jorge Arellano, Sammy Mannaert, James McCollough and Luca Rota
- * Removed some bugs and renamed the source files.
* Heavily rearranged URL/ an IO/ files for better understanding & debugging
* Added more documentation within the sources
* Recoded automake stuff
* Integrated some queued patches
* (And several things that I have no time to write now! :-)
Patches: Jorge Arellano Cid
dillo-0.0.1.tar.gz [Dec, 1999]
- * Halfway release, amidst stage one of the naming&coding effort.
Worked by: Jorge Arellano, Sammy Mannaert, James McCollough and Luca Rota
dillo-0.0.0.tar.gz [Dec, 1999]
- * Applied a cleanning patch to menus.[ch]
Patch: Sammy Mannaert
- * Made a threaded DNS scheme (several improvements: now it works with gdb)
* Bug fix on TMP_FAILURE_RETRY
* Bug fix on links not been followed (Url parsing)
* Changed the default pixmaps
* Maked automake, autoconf, autoheader, changes
* Changed binary name
Patches: Jorge Arellano Cid
================================================
FILE: Doxyfile
================================================
# Doxyfile 1.8.9.1
# This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project.
#
# All text after a double hash (##) is considered a comment and is placed in
# front of the TAG it is preceding.
#
# All text after a single hash (#) is considered a comment and will be ignored.
# The format is:
# TAG = value [value, ...]
# For lists, items can also be appended using:
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (\" \").
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
# This tag specifies the encoding used for all characters in the config file
# that follow. The default is UTF-8 which is also the encoding used for all text
# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv
# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv
# for the list of possible encodings.
# The default value is: UTF-8.
DOXYFILE_ENCODING = UTF-8
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by
# double-quotes, unless you are using Doxywizard) that should identify the
# project for which the documentation is generated. This name is used in the
# title of most generated pages and in a few other places.
# The default value is: My Project.
PROJECT_NAME = Dillo
# The PROJECT_NUMBER tag can be used to enter a project or revision number. This
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER =
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short.
PROJECT_BRIEF =
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included
# in the documentation. The maximum height of the logo should not exceed 55
# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
# the logo to the output directory.
PROJECT_LOGO =
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
# into which the generated documentation will be written. If a relative path is
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.
OUTPUT_DIRECTORY =
# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
# will distribute the generated files over these directories. Enabling this
# option can be useful when feeding doxygen a huge amount of source files, where
# putting all generated files in the same directory would otherwise causes
# performance problems for the file system.
# The default value is: NO.
CREATE_SUBDIRS = NO
# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII
# characters to appear in the names of generated files. If set to NO, non-ASCII
# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode
# U+3044.
# The default value is: NO.
ALLOW_UNICODE_NAMES = NO
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese,
# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States),
# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian,
# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages),
# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian,
# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian,
# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish,
# Ukrainian and Vietnamese.
# The default value is: English.
OUTPUT_LANGUAGE = English
# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member
# descriptions after the members that are listed in the file and class
# documentation (similar to Javadoc). Set to NO to disable this.
# The default value is: YES.
BRIEF_MEMBER_DESC = YES
# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief
# description of a member or function before the detailed description
#
# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed.
# The default value is: YES.
REPEAT_BRIEF = YES
# This tag implements a quasi-intelligent brief description abbreviator that is
# used to form the text in various listings. Each string in this list, if found
# as the leading text of the brief description, will be stripped from the text
# and the result, after processing the whole list, is used as the annotated
# text. Otherwise, the brief description is used as-is. If left blank, the
# following values are used ($name is automatically replaced with the name of
# the entity):The $name class, The $name widget, The $name file, is, provides,
# specifies, contains, represents, a, an and the.
ABBREVIATE_BRIEF =
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
# doxygen will generate a detailed section even if there is only a brief
# description.
# The default value is: NO.
ALWAYS_DETAILED_SEC = NO
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
# inherited members of a class in the documentation of that class as if those
# members were ordinary class members. Constructors, destructors and assignment
# operators of the base classes will not be shown.
# The default value is: NO.
INLINE_INHERITED_MEMB = NO
# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path
# before files name in the file list and in the header files. If set to NO the
# shortest path that makes the file name unique will be used
# The default value is: YES.
FULL_PATH_NAMES = YES
# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path.
# Stripping is only done if one of the specified strings matches the left-hand
# part of the path. The tag can be used to show relative paths in the file list.
# If left blank the directory from which doxygen is run is used as the path to
# strip.
#
# Note that you can specify absolute paths here, but also relative paths, which
# will be relative from the directory where doxygen is started.
# This tag requires that the tag FULL_PATH_NAMES is set to YES.
STRIP_FROM_PATH =
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
# path mentioned in the documentation of a class, which tells the reader which
# header file to include in order to use a class. If left blank only the name of
# the header file containing the class definition is used. Otherwise one should
# specify the list of include paths that are normally passed to the compiler
# using the -I flag.
STRIP_FROM_INC_PATH =
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but
# less readable) file names. This can be useful is your file systems doesn't
# support long names like on DOS, Mac, or CD-ROM.
# The default value is: NO.
SHORT_NAMES = NO
# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the
# first line (until the first dot) of a Javadoc-style comment as the brief
# description. If set to NO, the Javadoc-style will behave just like regular Qt-
# style comments (thus requiring an explicit @brief command for a brief
# description.)
# The default value is: NO.
JAVADOC_AUTOBRIEF = NO
# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first
# line (until the first dot) of a Qt-style comment as the brief description. If
# set to NO, the Qt-style will behave just like regular Qt-style comments (thus
# requiring an explicit \brief command for a brief description.)
# The default value is: NO.
QT_AUTOBRIEF = NO
# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a
# multi-line C++ special comment block (i.e. a block of //! or /// comments) as
# a brief description. This used to be the default behavior. The new default is
# to treat a multi-line C++ comment block as a detailed description. Set this
# tag to YES if you prefer the old behavior instead.
#
# Note that setting this tag to YES also means that rational rose comments are
# not recognized any more.
# The default value is: NO.
MULTILINE_CPP_IS_BRIEF = NO
# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the
# documentation from any documented member that it re-implements.
# The default value is: YES.
INHERIT_DOCS = YES
# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new
# page for each member. If set to NO, the documentation of a member will be part
# of the file/class/namespace that contains it.
# The default value is: NO.
SEPARATE_MEMBER_PAGES = NO
# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen
# uses this value to replace tabs by spaces in code fragments.
# Minimum value: 1, maximum value: 16, default value: 4.
TAB_SIZE = 8
# This tag can be used to specify a number of aliases that act as commands in
# the documentation. An alias has the form:
# name=value
# For example adding
# "sideeffect=@par Side Effects:\n"
# will allow you to put the command \sideeffect (or @sideeffect) in the
# documentation, which will result in a user-defined paragraph with heading
# "Side Effects:". You can put \n's in the value part of an alias to insert
# newlines.
ALIASES =
# This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding "class=itcl::class"
# will allow you to use the command class in the itcl::class meaning.
TCL_SUBST =
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
# only. Doxygen will then generate output that is more tailored for C. For
# instance, some of the names that are used will be different. The list of all
# members will be omitted, etc.
# The default value is: NO.
OPTIMIZE_OUTPUT_FOR_C = NO
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or
# Python sources only. Doxygen will then generate output that is more tailored
# for that language. For instance, namespaces will be presented as packages,
# qualified scopes will look different, etc.
# The default value is: NO.
OPTIMIZE_OUTPUT_JAVA = NO
# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
# sources. Doxygen will then generate output that is tailored for Fortran.
# The default value is: NO.
OPTIMIZE_FOR_FORTRAN = NO
# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
# sources. Doxygen will then generate output that is tailored for VHDL.
# The default value is: NO.
OPTIMIZE_OUTPUT_VHDL = NO
# Doxygen selects the parser to use depending on the extension of the files it
# parses. With this tag you can assign which parser to use for a given
# extension. Doxygen has a built-in mapping, but you can override or extend it
# using this tag. The format is ext=language, where ext is a file extension, and
# language is one of the parsers supported by doxygen: IDL, Java, Javascript,
# C#, C, C++, D, PHP, Objective-C, Python, Fortran (fixed format Fortran:
# FortranFixed, free formatted Fortran: FortranFree, unknown formatted Fortran:
# Fortran. In the later case the parser tries to guess whether the code is fixed
# or free formatted code, this is the default for Fortran type files), VHDL. For
# instance to make doxygen treat .inc files as Fortran files (default is PHP),
# and .f files as C (default is Fortran), use: inc=Fortran f=C.
#
# Note: For files without extension you can use no_extension as a placeholder.
#
# Note that for custom extensions you also need to set FILE_PATTERNS otherwise
# the files are not read by doxygen.
EXTENSION_MAPPING =
# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments
# according to the Markdown format, which allows for more readable
# documentation. See http://daringfireball.net/projects/markdown/ for details.
# The output of markdown processing is further processed by doxygen, so you can
# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in
# case of backward compatibilities issues.
# The default value is: YES.
MARKDOWN_SUPPORT = YES
# When enabled doxygen tries to link words that correspond to documented
# classes, or namespaces to their corresponding documentation. Such a link can
# be prevented in individual cases by putting a % sign in front of the word or
# globally by setting AUTOLINK_SUPPORT to NO.
# The default value is: YES.
AUTOLINK_SUPPORT = YES
# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
# to include (a tag file for) the STL sources as input, then you should set this
# tag to YES in order to let doxygen match functions declarations and
# definitions whose arguments contain STL classes (e.g. func(std::string);
# versus func(std::string) {}). This also make the inheritance and collaboration
# diagrams that involve STL classes more complete and accurate.
# The default value is: NO.
BUILTIN_STL_SUPPORT = NO
# If you use Microsoft's C++/CLI language, you should set this option to YES to
# enable parsing support.
# The default value is: NO.
CPP_CLI_SUPPORT = NO
# Set the SIP_SUPPORT tag to YES if your project consists of sip (see:
# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen
# will parse them like normal C++ but will assume all classes use public instead
# of private inheritance when no explicit protection keyword is present.
# The default value is: NO.
SIP_SUPPORT = NO
# For Microsoft's IDL there are propget and propput attributes to indicate
# getter and setter methods for a property. Setting this option to YES will make
# doxygen to replace the get and set methods by a property in the documentation.
# This will only work if the methods are indeed getting or setting a simple
# type. If this is not the case, or you want to show the methods anyway, you
# should set this option to NO.
# The default value is: YES.
IDL_PROPERTY_SUPPORT = YES
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
# The default value is: NO.
DISTRIBUTE_GROUP_DOC = NO
# Set the SUBGROUPING tag to YES to allow class member groups of the same type
# (for instance a group of public functions) to be put as a subgroup of that
# type (e.g. under the Public Functions section). Set it to NO to prevent
# subgrouping. Alternatively, this can be done per class using the
# \nosubgrouping command.
# The default value is: YES.
SUBGROUPING = YES
# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions
# are shown inside the group in which they are included (e.g. using \ingroup)
# instead of on a separate page (for HTML and Man pages) or section (for LaTeX
# and RTF).
#
# Note that this feature does not work in combination with
# SEPARATE_MEMBER_PAGES.
# The default value is: NO.
INLINE_GROUPED_CLASSES = NO
# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions
# with only public data fields or simple typedef fields will be shown inline in
# the documentation of the scope in which they are defined (i.e. file,
# namespace, or group documentation), provided this scope is documented. If set
# to NO, structs, classes, and unions are shown on a separate page (for HTML and
# Man pages) or section (for LaTeX and RTF).
# The default value is: NO.
INLINE_SIMPLE_STRUCTS = NO
# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or
# enum is documented as struct, union, or enum with the name of the typedef. So
# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
# with name TypeT. When disabled the typedef will appear as a member of a file,
# namespace, or class. And the struct will be named TypeS. This can typically be
# useful for C code in case the coding convention dictates that all compound
# types are typedef'ed and only the typedef is referenced, never the tag name.
# The default value is: NO.
TYPEDEF_HIDES_STRUCT = NO
# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This
# cache is used to resolve symbols given their name and scope. Since this can be
# an expensive process and often the same symbol appears multiple times in the
# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small
# doxygen will become slower. If the cache is too large, memory is wasted. The
# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range
# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536
# symbols. At the end of a run doxygen will report the cache usage and suggest
# the optimal cache size from a speed point of view.
# Minimum value: 0, maximum value: 9, default value: 0.
LOOKUP_CACHE_SIZE = 0
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in
# documentation are documented, even if no documentation was available. Private
# class members and static file members will be hidden unless the
# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES.
# Note: This will also disable the warnings about undocumented members that are
# normally produced when WARNINGS is set to YES.
# The default value is: NO.
EXTRACT_ALL = YES
# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
# be included in the documentation.
# The default value is: NO.
EXTRACT_PRIVATE = YES
# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
# scope will be included in the documentation.
# The default value is: NO.
EXTRACT_PACKAGE = NO
# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be
# included in the documentation.
# The default value is: NO.
EXTRACT_STATIC = YES
# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined
# locally in source files will be included in the documentation. If set to NO,
# only classes defined in header files are included. Does not have any effect
# for Java sources.
# The default value is: YES.
EXTRACT_LOCAL_CLASSES = NO
# This flag is only useful for Objective-C code. If set to YES, local methods,
# which are defined in the implementation section but not in the interface are
# included in the documentation. If set to NO, only methods in the interface are
# included.
# The default value is: NO.
EXTRACT_LOCAL_METHODS = NO
# If this flag is set to YES, the members of anonymous namespaces will be
# extracted and appear in the documentation as a namespace called
# 'anonymous_namespace{file}', where file will be replaced with the base name of
# the file that contains the anonymous namespace. By default anonymous namespace
# are hidden.
# The default value is: NO.
EXTRACT_ANON_NSPACES = NO
# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all
# undocumented members inside documented classes or files. If set to NO these
# members will be included in the various overviews, but no documentation
# section is generated. This option has no effect if EXTRACT_ALL is enabled.
# The default value is: NO.
HIDE_UNDOC_MEMBERS = NO
# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy. If set
# to NO, these classes will be included in the various overviews. This option
# has no effect if EXTRACT_ALL is enabled.
# The default value is: NO.
HIDE_UNDOC_CLASSES = NO
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend
# (class|struct|union) declarations. If set to NO, these declarations will be
# included in the documentation.
# The default value is: NO.
HIDE_FRIEND_COMPOUNDS = NO
# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any
# documentation blocks found inside the body of a function. If set to NO, these
# blocks will be appended to the function's detailed documentation block.
# The default value is: NO.
HIDE_IN_BODY_DOCS = NO
# The INTERNAL_DOCS tag determines if documentation that is typed after a
# \internal command is included. If the tag is set to NO then the documentation
# will be excluded. Set it to YES to include the internal documentation.
# The default value is: NO.
INTERNAL_DOCS = NO
# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file
# names in lower-case letters. If set to YES, upper-case letters are also
# allowed. This is useful if you have classes or files whose names only differ
# in case and if your file system supports case sensitive file names. Windows
# and Mac users are advised to set this option to NO.
# The default value is: system dependent.
CASE_SENSE_NAMES = YES
# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with
# their full class and namespace scopes in the documentation. If set to YES, the
# scope will be hidden.
# The default value is: NO.
HIDE_SCOPE_NAMES = NO
# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will
# append additional text to a page's title, such as Class Reference. If set to
# YES the compound reference will be hidden.
# The default value is: NO.
HIDE_COMPOUND_REFERENCE= NO
# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of
# the files that are included by a file in the documentation of that file.
# The default value is: YES.
SHOW_INCLUDE_FILES = YES
# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each
# grouped member an include statement to the documentation, telling the reader
# which file to include in order to use the member.
# The default value is: NO.
SHOW_GROUPED_MEMB_INC = NO
# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include
# files with double quotes in the documentation rather than with sharp brackets.
# The default value is: NO.
FORCE_LOCAL_INCLUDES = NO
# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the
# documentation for inline members.
# The default value is: YES.
INLINE_INFO = YES
# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the
# (detailed) documentation of file and class members alphabetically by member
# name. If set to NO, the members will appear in declaration order.
# The default value is: YES.
SORT_MEMBER_DOCS = YES
# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief
# descriptions of file, namespace and class members alphabetically by member
# name. If set to NO, the members will appear in declaration order. Note that
# this will also influence the order of the classes in the class list.
# The default value is: NO.
SORT_BRIEF_DOCS = NO
# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the
# (brief and detailed) documentation of class members so that constructors and
# destructors are listed first. If set to NO the constructors will appear in the
# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS.
# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief
# member documentation.
# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting
# detailed member documentation.
# The default value is: NO.
SORT_MEMBERS_CTORS_1ST = NO
# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy
# of group names into alphabetical order. If set to NO the group names will
# appear in their defined order.
# The default value is: NO.
SORT_GROUP_NAMES = NO
# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by
# fully-qualified names, including namespaces. If set to NO, the class list will
# be sorted only by class name, not including the namespace part.
# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
# Note: This option applies only to the class list, not to the alphabetical
# list.
# The default value is: NO.
SORT_BY_SCOPE_NAME = NO
# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper
# type resolution of all parameters of a function it will reject a match between
# the prototype and the implementation of a member function even if there is
# only one candidate or it is obvious which candidate to choose by doing a
# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still
# accept a match between prototype and implementation in such cases.
# The default value is: NO.
STRICT_PROTO_MATCHING = NO
# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo
# list. This list is created by putting \todo commands in the documentation.
# The default value is: YES.
GENERATE_TODOLIST = YES
# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
# list. This list is created by putting \test commands in the documentation.
# The default value is: YES.
GENERATE_TESTLIST = YES
# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
# list. This list is created by putting \bug commands in the documentation.
# The default value is: YES.
GENERATE_BUGLIST = YES
# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
# the deprecated list. This list is created by putting \deprecated commands in
# the documentation.
# The default value is: YES.
GENERATE_DEPRECATEDLIST= YES
# The ENABLED_SECTIONS tag can be used to enable conditional documentation
# sections, marked by \if <section_label> ... \endif and \cond <section_label>
# ... \endcond blocks.
ENABLED_SECTIONS =
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
# initial value of a variable or macro / define can have for it to appear in the
# documentation. If the initializer consists of more lines than specified here
# it will be hidden. Use a value of 0 to hide initializers completely. The
# appearance of the value of individual variables and macros / defines can be
# controlled using \showinitializer or \hideinitializer command in the
# documentation regardless of this setting.
# Minimum value: 0, maximum value: 10000, default value: 30.
MAX_INITIALIZER_LINES = 30
# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at
# the bottom of the documentation of classes and structs. If set to YES, the
# list will mention the files that were used to generate the documentation.
# The default value is: YES.
SHOW_USED_FILES = YES
# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
# will remove the Files entry from the Quick Index and from the Folder Tree View
# (if specified).
# The default value is: YES.
SHOW_FILES = YES
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
# page. This will remove the Namespaces entry from the Quick Index and from the
# Folder Tree View (if specified).
# The default value is: YES.
SHOW_NAMESPACES = YES
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
# doxygen should invoke to get the current version for each file (typically from
# the version control system). Doxygen will invoke the program by executing (via
# popen()) the command command input-file, where command is the value of the
# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided
# by doxygen. Whatever the program writes to standard output is used as the file
# version. For an example see the documentation.
FILE_VERSION_FILTER =
# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
# by doxygen. The layout file controls the global structure of the generated
# output files in an output format independent way. To create the layout file
# that represents doxygen's defaults, run doxygen with the -l option. You can
# optionally specify a file name after the option, if omitted DoxygenLayout.xml
# will be used as the name of the layout file.
#
# Note that if you run doxygen from a directory containing a file called
# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE
# tag is left empty.
LAYOUT_FILE =
# The CITE_BIB_FILES tag can be used to specify one or more bib files containing
# the reference definitions. This must be a list of .bib files. The .bib
# extension is automatically appended if omitted. This requires the bibtex tool
# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info.
# For LaTeX the style of the bibliography can be controlled using
# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the
# search path. See also \cite for info how to create references.
CITE_BIB_FILES =
#---------------------------------------------------------------------------
# Configuration options related to warning and progress messages
#---------------------------------------------------------------------------
# The QUIET tag can be used to turn on/off the messages that are generated to
# standard output by doxygen. If QUIET is set to YES this implies that the
# messages are off.
# The default value is: NO.
QUIET = NO
# The WARNINGS tag can be used to turn on/off the warning messages that are
# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES
# this implies that the warnings are on.
#
# Tip: Turn warnings on while writing the documentation.
# The default value is: YES.
WARNINGS = YES
# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate
# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag
# will automatically be disabled.
# The default value is: YES.
WARN_IF_UNDOCUMENTED = YES
# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for
# potential errors in the documentation, such as not documenting some parameters
# in a documented function, or documenting parameters that don't exist or using
# markup commands wrongly.
# The default value is: YES.
WARN_IF_DOC_ERROR = YES
# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that
# are documented, but have no documentation for their parameters or return
# value. If set to NO, doxygen will only warn about wrong or incomplete
# parameter documentation, but not about the absence of documentation.
# The default value is: NO.
WARN_NO_PARAMDOC = NO
# The WARN_FORMAT tag determines the format of the warning messages that doxygen
# can produce. The string should contain the $file, $line, and $text tags, which
# will be replaced by the file and line number from which the warning originated
# and the warning text. Optionally the format may contain $version, which will
# be replaced by the version of the file (if it could be obtained via
# FILE_VERSION_FILTER)
# The default value is: $file:$line: $text.
WARN_FORMAT = "$file:$line: $text"
# The WARN_LOGFILE tag can be used to specify a file to which warning and error
# messages should be written. If left blank the output is written to standard
# error (stderr).
WARN_LOGFILE =
#---------------------------------------------------------------------------
# Configuration options related to the input files
#---------------------------------------------------------------------------
# The INPUT tag is used to specify the files and/or directories that contain
# documented source files. You may enter file names like myfile.cpp or
# directories like /usr/src/myproject. Separate the files or directories with
# spaces.
# Note: If this tag is empty the current directory is searched.
INPUT =
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
# libiconv (or the iconv built into libc) for the transcoding. See the libiconv
# documentation (see: http://www.gnu.org/software/libiconv) for the list of
# possible encodings.
# The default value is: UTF-8.
INPUT_ENCODING = UTF-8
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and
# *.h) to filter out the source-files in the directories. If left blank the
# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii,
# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp,
# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown,
# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf,
# *.qsf, *.as and *.js.
FILE_PATTERNS = *.cc \
*.hh \
*.doc
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
# The default value is: NO.
RECURSIVE = YES
# The EXCLUDE tag can be used to specify files and/or directories that should be
# excluded from the INPUT source files. This way you can easily exclude a
# subdirectory from a directory tree whose root is specified with the INPUT tag.
#
# Note that relative paths are relative to the directory from which doxygen is
# run.
EXCLUDE = dlib \
dpi \
dpid \
dpip \
src
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
# from the input.
# The default value is: NO.
EXCLUDE_SYMLINKS = NO
# If the value of the INPUT tag contains directories, you can use the
# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
# certain files from those directories.
#
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/*
EXCLUDE_PATTERNS =
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
# output. The symbol name can be a fully qualified name, a word, or if the
# wildcard * is used, a substring. Examples: ANamespace, AClass,
# AClass::ANamespace, ANamespace::*Test
#
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories use the pattern */test/*
EXCLUDE_SYMBOLS =
# The EXAMPLE_PATH tag can be used to specify one or more files or directories
# that contain example code fragments that are included (see the \include
# command).
EXAMPLE_PATH =
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and
# *.h) to filter out the source-files in the directories. If left blank all
# files are included.
EXAMPLE_PATTERNS =
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
# searched for input files to be used with the \include or \dontinclude commands
# irrespective of the value of the RECURSIVE tag.
# The default value is: NO.
EXAMPLE_RECURSIVE = NO
# The IMAGE_PATH tag can be used to specify one or more files or directories
# that contain images that are to be included in the documentation (see the
# \image command).
IMAGE_PATH = devdoc
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
# by executing (via popen()) the command:
#
# <filter> <input-file>
#
# where <filter> is the value of the INPUT_FILTER tag, and <input-file> is the
# name of an input file. Doxygen will then use the output that the filter
# program writes to standard output. If FILTER_PATTERNS is specified, this tag
# will be ignored.
#
# Note that the filter must not add or remove lines; it is applied before the
# code is scanned, but not when the output code is generated. If lines are added
# or removed, the anchors will not be placed correctly.
INPUT_FILTER =
# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
# basis. Doxygen will compare the file name with each pattern and apply the
# filter if there is a match. The filters are a list of the form: pattern=filter
# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how
# filters are used. If the FILTER_PATTERNS tag is empty or if none of the
# patterns match the file name, INPUT_FILTER is applied.
FILTER_PATTERNS =
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
# INPUT_FILTER) will also be used to filter the input files that are used for
# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES).
# The default value is: NO.
FILTER_SOURCE_FILES = NO
# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and
# it is also possible to disable source filtering for a specific pattern using
# *.ext= (so without naming a filter).
# This tag requires that the tag FILTER_SOURCE_FILES is set to YES.
FILTER_SOURCE_PATTERNS =
# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that
# is part of the input, its contents will be placed on the main page
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.
USE_MDFILE_AS_MAINPAGE =
#---------------------------------------------------------------------------
# Configuration options related to source browsing
#---------------------------------------------------------------------------
# If the SOURCE_BROWSER tag is set to YES then a list of source files will be
# generated. Documented entities will be cross-referenced with these sources.
#
# Note: To get rid of all source code in the generated output, make sure that
# also VERBATIM_HEADERS is set to NO.
# The default value is: NO.
SOURCE_BROWSER = NO
# Setting the INLINE_SOURCES tag to YES will include the body of functions,
# classes and enums directly into the documentation.
# The default value is: NO.
INLINE_SOURCES = NO
# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any
# special comment blocks from generated source code fragments. Normal C, C++ and
# Fortran comments will always remain visible.
# The default value is: YES.
STRIP_CODE_COMMENTS = YES
# If the REFERENCED_BY_RELATION tag is set to YES then for each documented
# function all documented functions referencing it will be listed.
# The default value is: NO.
REFERENCED_BY_RELATION = YES
# If the REFERENCES_RELATION tag is set to YES then for each documented function
# all documented entities called/used by that function will be listed.
# The default value is: NO.
REFERENCES_RELATION = YES
# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set
# to YES then the hyperlinks from functions in REFERENCES_RELATION and
# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will
# link to the documentation.
# The default value is: YES.
REFERENCES_LINK_SOURCE = YES
# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the
# source code will show a tooltip with additional information such as prototype,
# brief description and links to the definition and documentation. Since this
# will make the HTML file larger and loading of large files a bit slower, you
# can opt to disable this feature.
# The default value is: YES.
# This tag requires that the tag SOURCE_BROWSER is set to YES.
SOURCE_TOOLTIPS = YES
# If the USE_HTAGS tag is set to YES then the references to source code will
# point to the HTML generated by the htags(1) tool instead of doxygen built-in
# source browser. The htags tool is part of GNU's global source tagging system
# (see http://www.gnu.org/software/global/global.html). You will need version
# 4.8.6 or higher.
#
# To use it do the following:
# - Install the latest version of global
# - Enable SOURCE_BROWSER and USE_HTAGS in the config file
# - Make sure the INPUT points to the root of the source tree
# - Run doxygen as normal
#
# Doxygen will invoke htags (and that will in turn invoke gtags), so these
# tools must be available from the command line (i.e. in the search path).
#
# The result: instead of the source browser generated by doxygen, the links to
# source code will now point to the output of htags.
# The default value is: NO.
# This tag requires that the tag SOURCE_BROWSER is set to YES.
USE_HTAGS = NO
# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a
# verbatim copy of the header file for each class for which an include is
# specified. Set to NO to disable this.
# See also: Section \class.
# The default value is: YES.
VERBATIM_HEADERS = YES
#---------------------------------------------------------------------------
# Configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all
# compounds will be generated. Enable this if the project contains a lot of
# classes, structs, unions or interfaces.
# The default value is: YES.
ALPHABETICAL_INDEX = YES
# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
# which the alphabetical index list will be split.
# Minimum value: 1, maximum value: 20, default value: 5.
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
COLS_IN_ALPHA_INDEX = 3
# In case all classes in a project start with a common prefix, all classes will
# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
# can be used to specify a prefix (or a list of prefixes) that should be ignored
# while generating the index headers.
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the HTML output
#---------------------------------------------------------------------------
# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output
# The default value is: YES.
GENERATE_HTML = YES
# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a
# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of
# it.
# The default directory is: html.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_OUTPUT = html
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each
# generated HTML page (for example: .htm, .php, .asp).
# The default value is: .html.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_FILE_EXTENSION = .html
# The HTML_HEADER tag can be used to specify a user-defined HTML header file for
# each generated HTML page. If the tag is left blank doxygen will generate a
# standard header.
#
# To get valid HTML the header file that includes any scripts and style sheets
# that doxygen needs, which is dependent on the configuration options used (e.g.
# the setting GENERATE_TREEVIEW). It is highly recommended to start with a
# default header using
# doxygen -w html new_header.html new_footer.html new_stylesheet.css
# YourConfigFile
# and then modify the file new_header.html. See also section "Doxygen usage"
# for information on how to generate the default header that doxygen normally
# uses.
# Note: The header is subject to change so you typically have to regenerate the
# default header when upgrading to a newer version of doxygen. For a description
# of the possible markers and block names see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_HEADER =
# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each
# generated HTML page. If the tag is left blank doxygen will generate a standard
# footer. See HTML_HEADER for more information on how to generate a default
# footer and what special commands can be used inside the footer. See also
# section "Doxygen usage" for information on how to generate the default footer
# that doxygen normally uses.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_FOOTER =
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style
# sheet that is used by each HTML page. It can be used to fine-tune the look of
# the HTML output. If left blank doxygen will generate a default style sheet.
# See also section "Doxygen usage" for information on how to generate the style
# sheet that doxygen normally uses.
# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as
# it is more robust and this tag (HTML_STYLESHEET) will in the future become
# obsolete.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_STYLESHEET =
# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined
# cascading style sheets that are included after the standard style sheets
# created by doxygen. Using this option one can overrule certain style aspects.
# This is preferred over using HTML_STYLESHEET since it does not replace the
# standard style sheet and is therefore more robust against future updates.
# Doxygen will copy the style sheet files to the output directory.
# Note: The order of the extra style sheet files is of importance (e.g. the last
# style sheet in the list overrules the setting of the previous ones in the
# list). For an example see the documentation.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_EXTRA_STYLESHEET =
# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
# other source files which should be copied to the HTML output directory. Note
# that these files will be copied to the base HTML output directory. Use the
# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
# files. In the HTML_STYLESHEET file, use the file name only. Also note that the
# files will be copied as-is; there are no commands or markers available.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_EXTRA_FILES =
# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen
# will adjust the colors in the style sheet and background images according to
# this color. Hue is specified as an angle on a colorwheel, see
# http://en.wikipedia.org/wiki/Hue for more information. For instance the value
# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300
# purple, and 360 is red again.
# Minimum value: 0, maximum value: 359, default value: 220.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_COLORSTYLE_HUE = 220
# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors
# in the HTML output. For a value of 0 the output will use grayscales only. A
# value of 255 will produce the most vivid colors.
# Minimum value: 0, maximum value: 255, default value: 100.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_COLORSTYLE_SAT = 100
# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the
# luminance component of the colors in the HTML output. Values below 100
# gradually make the output lighter, whereas values above 100 make the output
# darker. The value divided by 100 is the actual gamma applied, so 80 represents
# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not
# change the gamma.
# Minimum value: 40, maximum value: 240, default value: 80.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_COLORSTYLE_GAMMA = 80
# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
# page will contain the date and time when the page was generated. Setting this
# to NO can help when comparing the output of multiple runs.
# The default value is: YES.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_TIMESTAMP = YES
# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
# documentation will contain sections that can be hidden and shown after the
# page has loaded.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_DYNAMIC_SECTIONS = NO
# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
# shown in the various tree structured indices initially; the user can expand
# and collapse entries dynamically later on. Doxygen will expand the tree to
# such a level that at most the specified number of entries are visible (unless
# a fully collapsed tree already exceeds this amount). So setting the number of
# entries 1 will produce a full collapsed tree by default. 0 is a special value
# representing an infinite number of entries and will result in a full expanded
# tree by default.
# Minimum value: 0, maximum value: 9999, default value: 100.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_INDEX_NUM_ENTRIES = 100
# If the GENERATE_DOCSET tag is set to YES, additional index files will be
# generated that can be used as input for Apple's Xcode 3 integrated development
# environment (see: http://developer.apple.com/tools/xcode/), introduced with
# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a
# Makefile in the HTML output directory. Running make will produce the docset in
# that directory and running make install will install the docset in
# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at
# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
# for more information.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_DOCSET = NO
# This tag determines the name of the docset feed. A documentation feed provides
# an umbrella under which multiple documentation sets from a single provider
# (such as a company or product suite) can be grouped.
# The default value is: Doxygen generated docs.
# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_FEEDNAME = "Doxygen generated docs"
# This tag specifies a string that should uniquely identify the documentation
# set bundle. This should be a reverse domain-name style string, e.g.
# com.mycompany.MyDocSet. Doxygen will append .docset to the name.
# The default value is: org.doxygen.Project.
# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_BUNDLE_ID = org.doxygen.Project
# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify
# the documentation publisher. This should be a reverse domain-name style
# string, e.g. com.mycompany.MyDocSet.documentation.
# The default value is: org.doxygen.Publisher.
# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher.
# The default value is: Publisher.
# This tag requires that the tag GENERATE_DOCSET is set to YES.
DOCSET_PUBLISHER_NAME = Publisher
# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three
# additional HTML index files: index.hhp, index.hhc, and index.hhk. The
# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop
# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on
# Windows.
#
# The HTML Help Workshop contains a compiler that can convert all HTML output
# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML
# files are now used as the Windows 98 help format, and will replace the old
# Windows help format (.hlp) on all Windows platforms in the future. Compressed
# HTML files also contain an index, a table of contents, and you can search for
# words in the documentation. The HTML workshop also contains a viewer for
# compressed HTML files.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_HTMLHELP = NO
# The CHM_FILE tag can be used to specify the file name of the resulting .chm
# file. You can add a path in front of the file if the result should not be
# written to the html output directory.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
CHM_FILE =
# The HHC_LOCATION tag can be used to specify the location (absolute path
# including file name) of the HTML help compiler (hhc.exe). If non-empty,
# doxygen will try to run the HTML help compiler on the generated index.hhp.
# The file has to be specified with full path.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
HHC_LOCATION =
# The GENERATE_CHI flag controls if a separate .chi index file is generated
# (YES) or that it should be included in the master .chm file (NO).
# The default value is: NO.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
GENERATE_CHI = NO
# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc)
# and project file content.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
CHM_INDEX_ENCODING =
# The BINARY_TOC flag controls whether a binary table of contents is generated
# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it
# enables the Previous and Next buttons.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
BINARY_TOC = NO
# The TOC_EXPAND flag can be set to YES to add extra items for group members to
# the table of contents of the HTML help documentation and to the tree view.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTMLHELP is set to YES.
TOC_EXPAND = NO
# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that
# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help
# (.qch) of the generated HTML documentation.
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
GENERATE_QHP = NO
# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify
# the file name of the resulting .qch file. The path specified is relative to
# the HTML output folder.
# This tag requires that the tag GENERATE_QH
gitextract_l67l6en_/
├── AUTHORS
├── COPYING
├── ChangeLog
├── Doxyfile
├── Makefile
├── Makefile.options
├── Makefile.options.Linux
├── Makefile.options.Linux.Wayland
├── Makefile.options.MacOS
├── Makefile.options.OpenBSD
├── NEWS
├── README
├── README.md
├── bm.txt
├── config.h
├── d_size.h
├── devdoc/
│ ├── CCCwork.txt
│ ├── Cache.txt
│ ├── Dillo.txt
│ ├── Dpid.txt
│ ├── HtmlParser.txt
│ ├── IO.txt
│ ├── Images.txt
│ ├── NC_design.txt
│ ├── README
│ ├── dw-changes.doc
│ ├── dw-fixed-positions.doc
│ ├── dw-grows.doc
│ ├── dw-images-and-backgrounds.doc
│ ├── dw-interrupted-drawing.doc
│ ├── dw-layout-views.doc
│ ├── dw-layout-widgets.doc
│ ├── dw-line-breaking.doc
│ ├── dw-map.doc
│ ├── dw-miscellaneous.doc
│ ├── dw-out-of-flow-floats.doc
│ ├── dw-out-of-flow-positioned.doc
│ ├── dw-out-of-flow.doc
│ ├── dw-overview.doc
│ ├── dw-size-request-pos-01.html
│ ├── dw-size-request-pos.doc
│ ├── dw-stacking-context.doc
│ ├── dw-usage.doc
│ ├── dw-widget-sizes.doc
│ ├── fltk-problems.doc
│ ├── index.doc
│ ├── lout.doc
│ ├── rounding-errors.doc
│ └── uml-legend.doc
├── dillo-install-hyphenation
├── dillorc
├── dist/
│ ├── Makefile
│ └── dillo-plus.desktop
├── dlib/
│ ├── Makefile
│ ├── dlib.c
│ └── dlib.h
├── doc/
│ ├── Cookies.txt
│ ├── Makefile
│ ├── README
│ ├── manpage.1.in
│ └── user_help.html
├── dpi/
│ ├── Makefile
│ ├── bookmarks.c
│ ├── cookies.c
│ ├── datauri.c
│ ├── datauri.c.orig
│ ├── downloads.cc
│ ├── dpiutil.c
│ ├── dpiutil.h
│ ├── file.c
│ ├── fileutil.c
│ ├── fileutil.h
│ ├── ftp.c
│ ├── gemini.c
│ ├── gopher.c
│ ├── hello.c
│ ├── man.c
│ ├── vsource.c
│ └── zip.c
├── dpid/
│ ├── Makefile
│ ├── TODO
│ ├── dpi.c
│ ├── dpi.h
│ ├── dpi_socket_dir.c
│ ├── dpi_socket_dir.h
│ ├── dpid-plus.c
│ ├── dpid-plus.h
│ ├── dpid_common.c
│ ├── dpid_common.h
│ ├── dpidc-plus.c
│ ├── dpidrc.in
│ ├── main.c
│ ├── main.c.orig
│ ├── misc_new.c
│ └── misc_new.h
├── dpip/
│ ├── Makefile
│ ├── dpip.c
│ └── dpip.h
├── dw/
│ ├── Makefile
│ ├── alignedtablecell.cc
│ ├── alignedtablecell.hh
│ ├── alignedtextblock.cc
│ ├── alignedtextblock.hh
│ ├── bullet.cc
│ ├── bullet.hh
│ ├── core.hh
│ ├── events.hh
│ ├── findtext.cc
│ ├── findtext.hh
│ ├── fltkcomplexbutton.cc
│ ├── fltkcomplexbutton.hh
│ ├── fltkcore.hh
│ ├── fltkflatview.cc
│ ├── fltkflatview.hh
│ ├── fltkimgbuf.cc
│ ├── fltkimgbuf.hh
│ ├── fltkmisc.cc
│ ├── fltkmisc.hh
│ ├── fltkplatform.cc
│ ├── fltkplatform.hh
│ ├── fltkpreview.cc
│ ├── fltkpreview.hh
│ ├── fltkui.cc
│ ├── fltkui.hh
│ ├── fltkviewbase.cc
│ ├── fltkviewbase.hh
│ ├── fltkviewport.cc
│ ├── fltkviewport.hh
│ ├── hyphenator.cc
│ ├── hyphenator.hh
│ ├── image.cc
│ ├── image.hh
│ ├── imgbuf.hh
│ ├── imgrenderer.cc
│ ├── imgrenderer.hh
│ ├── iterator.cc
│ ├── iterator.hh
│ ├── layout.cc
│ ├── layout.hh
│ ├── listitem.cc
│ ├── listitem.hh
│ ├── oofawarewidget.cc
│ ├── oofawarewidget.hh
│ ├── oofawarewidget_iterator.cc
│ ├── ooffloatsmgr.cc
│ ├── ooffloatsmgr.hh
│ ├── oofposabslikemgr.cc
│ ├── oofposabslikemgr.hh
│ ├── oofposabsmgr.cc
│ ├── oofposabsmgr.hh
│ ├── oofposfixedmgr.cc
│ ├── oofposfixedmgr.hh
│ ├── oofpositionedmgr.cc
│ ├── oofpositionedmgr.hh
│ ├── oofposrelmgr.cc
│ ├── oofposrelmgr.hh
│ ├── outofflowmgr.cc
│ ├── outofflowmgr.hh
│ ├── platform.hh
│ ├── preview.xbm
│ ├── regardingborder.cc
│ ├── regardingborder.hh
│ ├── ruler.cc
│ ├── ruler.hh
│ ├── selection.cc
│ ├── selection.hh
│ ├── simpletablecell.cc
│ ├── simpletablecell.hh
│ ├── stackingcontextmgr.cc
│ ├── stackingcontextmgr.hh
│ ├── style.cc
│ ├── style.hh
│ ├── table.cc
│ ├── table.hh
│ ├── table_iterator.cc
│ ├── tablecell.cc
│ ├── tablecell.hh
│ ├── textblock.cc
│ ├── textblock.hh
│ ├── textblock_iterator.cc
│ ├── textblock_linebreaking.cc
│ ├── tools.cc
│ ├── tools.hh
│ ├── types.cc
│ ├── types.hh
│ ├── ui.cc
│ ├── ui.hh
│ ├── view.hh
│ ├── widget.cc
│ └── widget.hh
├── install-dpi-local
├── install-sh
├── lout/
│ ├── Makefile
│ ├── container.cc
│ ├── container.hh
│ ├── debug.hh
│ ├── debug_rtfl.hh
│ ├── identity.cc
│ ├── identity.hh
│ ├── misc.cc
│ ├── misc.hh
│ ├── msg.h
│ ├── object.cc
│ ├── object.hh
│ ├── signal.cc
│ ├── signal.hh
│ ├── unicode.cc
│ └── unicode.hh
├── pkgs/
│ └── obsd/
│ ├── +DESC
│ ├── +REQUIRING
│ ├── Makefile
│ └── gen_contents.sh
├── src/
│ ├── IO/
│ │ ├── IO.c
│ │ ├── IO.h
│ │ ├── Makefile
│ │ ├── Url.h
│ │ ├── about.c
│ │ ├── dpi.c
│ │ ├── http.c
│ │ ├── iowatch.cc
│ │ ├── iowatch.hh
│ │ ├── mime.c
│ │ ├── mime.h
│ │ ├── proto.c
│ │ ├── tls.c
│ │ └── tls.h
│ ├── Makefile
│ ├── auth.c
│ ├── auth.h
│ ├── binaryconst.h
│ ├── bitvec.c
│ ├── bitvec.h
│ ├── bm.txt
│ ├── bookmark.c
│ ├── bookmark.h
│ ├── bw.c
│ ├── bw.h
│ ├── cache.c
│ ├── cache.h
│ ├── capi.c
│ ├── capi.h
│ ├── chain.c
│ ├── chain.h
│ ├── chg
│ ├── colors.c
│ ├── colors.h
│ ├── cookies.c
│ ├── cookies.h
│ ├── css.cc
│ ├── css.hh
│ ├── cssparser.cc
│ ├── cssparser.hh
│ ├── decode.c
│ ├── decode.h
│ ├── dgif.h
│ ├── dialog.cc
│ ├── dialog.hh
│ ├── dicache.c
│ ├── dicache.h
│ ├── digest.c
│ ├── digest.h
│ ├── dillo-plus.cc
│ ├── djpeg.h
│ ├── dns.c
│ ├── dns.h
│ ├── doctree.hh
│ ├── domain.c
│ ├── domain.h
│ ├── domainrc
│ ├── dpiapi.c
│ ├── dpiapi.h
│ ├── dpng.h
│ ├── findbar.cc
│ ├── findbar.hh
│ ├── form.cc
│ ├── form.hh
│ ├── gif.c
│ ├── history.c
│ ├── history.h
│ ├── hsts.c
│ ├── hsts.h
│ ├── hsts_preload
│ ├── html.cc
│ ├── html.hh
│ ├── html_charrefs.h
│ ├── html_common.hh
│ ├── image.cc
│ ├── image.hh
│ ├── imgbuf.cc
│ ├── imgbuf.hh
│ ├── jpeg.c
│ ├── keys.cc
│ ├── keys.hh
│ ├── keysrc
│ ├── klist.c
│ ├── klist.h
│ ├── list.h
│ ├── md5.c
│ ├── md5.h
│ ├── menu.cc
│ ├── menu.hh
│ ├── misc.c
│ ├── misc.h
│ ├── msg.h
│ ├── nav.c
│ ├── nav.h
│ ├── paths.cc
│ ├── paths.hh
│ ├── pixmaps.alt.h
│ ├── pixmaps.h
│ ├── pixmaps_classic.h
│ ├── plain.cc
│ ├── png.c
│ ├── prefs.c
│ ├── prefs.h
│ ├── prefsparser.cc
│ ├── prefsparser.hh
│ ├── srch
│ ├── styleengine.cc
│ ├── styleengine.hh
│ ├── table.cc
│ ├── table.hh
│ ├── timeout.cc
│ ├── timeout.hh
│ ├── tipwin.cc
│ ├── tipwin.hh
│ ├── ui.cc
│ ├── ui.hh
│ ├── uicmd.cc
│ ├── uicmd.hh
│ ├── url.c
│ ├── url.h
│ ├── utf8.cc
│ ├── utf8.hh
│ ├── web.cc
│ ├── web.hh
│ ├── xembed.cc
│ └── xembed.hh
├── style.css
├── style.css.orig.full
├── style_reader_mode.css
├── test/
│ ├── Anna_Karenina_1.html
│ ├── KHM1-shy.html
│ ├── KHM1.html
│ ├── KHM1b.html
│ ├── KHM1c.html
│ ├── Makefile
│ ├── anchors.html
│ ├── containers.cc
│ ├── cookies.c
│ ├── dw_anchors_test.cc
│ ├── dw_border_test.cc
│ ├── dw_example.cc
│ ├── dw_find_test.cc
│ ├── dw_float_test.cc
│ ├── dw_image_background.cc
│ ├── dw_images_scaled.cc
│ ├── dw_images_scaled2.cc
│ ├── dw_images_simple.cc
│ ├── dw_imgbuf_mem_test.cc
│ ├── dw_links.cc
│ ├── dw_links2.cc
│ ├── dw_lists.cc
│ ├── dw_resource_test.cc
│ ├── dw_simple_container.cc
│ ├── dw_simple_container.hh
│ ├── dw_simple_container_test.cc
│ ├── dw_table.cc
│ ├── dw_table_aligned.cc
│ ├── dw_ui_test.cc
│ ├── floats-and-absolute.html
│ ├── floats-and-margins.html
│ ├── floats-table.html
│ ├── floats-worm.html
│ ├── floats1.html
│ ├── floats2.html
│ ├── floats3.html
│ ├── floats4.html
│ ├── floats5.html
│ ├── form.cc
│ ├── form.hh
│ ├── hyph-de-1996.pat
│ ├── hyph-en-us.pat
│ ├── hyphenate-nbsp.html
│ ├── hyphens-etc.html
│ ├── identity.cc
│ ├── lang.html
│ ├── liang.cc
│ ├── notsosimplevector.cc
│ ├── shapes.cc
│ ├── table-1.html
│ ├── table-h1.html
│ ├── table-narrow.html
│ ├── table-thead-tfoot.html
│ ├── trie.cc
│ ├── unicode_test.cc
│ └── white-space.html
└── test_files/
└── page.gmi
Showing preview only (216K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (2510 symbols across 243 files)
FILE: d_size.h
type uchar_t (line 17) | typedef unsigned char uchar_t;
type ushort_t (line 18) | typedef unsigned short ushort_t;
type ulong_t (line 19) | typedef unsigned long ulong_t;
type uint_t (line 20) | typedef unsigned int uint_t;
type bool_t (line 21) | typedef unsigned char bool_t;
FILE: dlib/dlib.c
function dFree (line 66) | void dFree (void *mem)
function dStrshred (line 138) | void dStrshred(char *s)
function dStrAsciiCasecmp (line 201) | int dStrAsciiCasecmp(const char *s1, const char *s2)
function dStrnAsciiCasecmp (line 213) | int dStrnAsciiCasecmp(const char *s1, const char *s2, size_t n)
function dStr_resize (line 232) | static void dStr_resize(Dstr *ds, int n_sz, int keep)
function Dstr (line 252) | Dstr *dStr_sized_new (int sz)
function dStr_fit (line 267) | void dStr_fit (Dstr *ds)
function dStr_insert_l (line 276) | void dStr_insert_l (Dstr *ds, int pos_0, const char *s, int l)
function dStr_insert (line 296) | void dStr_insert (Dstr *ds, int pos_0, const char *s)
function dStr_append_l (line 306) | void dStr_append_l (Dstr *ds, const char *s, int l)
function dStr_append (line 314) | void dStr_append (Dstr *ds, const char *s)
function Dstr (line 323) | Dstr *dStr_new (const char *s)
function dStr_free (line 335) | void dStr_free (Dstr *ds, int all)
function dStr_append_c (line 347) | void dStr_append_c (Dstr *ds, int c)
function dStr_truncate (line 366) | void dStr_truncate (Dstr *ds, int len)
function dStr_shred (line 377) | void dStr_shred (Dstr *ds)
function dStr_erase (line 386) | void dStr_erase (Dstr *ds, int pos_0, int len)
function dStr_vsprintfa (line 399) | void dStr_vsprintfa (Dstr *ds, const char *format, va_list argp)
function dStr_vsprintf (line 437) | void dStr_vsprintf (Dstr *ds, const char *format, va_list argp)
function dStr_sprintf (line 448) | void dStr_sprintf (Dstr *ds, const char *format, ...)
function dStr_sprintfa (line 462) | void dStr_sprintfa (Dstr *ds, const char *format, ...)
function dStr_cmp (line 476) | int dStr_cmp(Dstr *ds1, Dstr *ds2)
function Dlist (line 546) | Dlist *dList_new(int size)
function dList_free (line 562) | void dList_free (Dlist *lp)
function dList_insert_pos (line 574) | void dList_insert_pos (Dlist *lp, void *data, int pos0)
function dList_append (line 595) | void dList_append (Dlist *lp, void *data)
function dList_prepend (line 603) | void dList_prepend (Dlist *lp, void *data)
function dList_length (line 611) | int dList_length (Dlist *lp)
function dList_remove_fast (line 621) | void dList_remove_fast (Dlist *lp, const void *data)
function dList_remove (line 639) | void dList_remove (Dlist *lp, const void *data)
function dList_find_idx (line 681) | int dList_find_idx (Dlist *lp, const void *data)
function QuickSort (line 723) | static void QuickSort(void **left, void **right, dCompareFunc compare)
function dList_sort (line 756) | void dList_sort (Dlist *lp, dCompareFunc func)
function dList_insert_sorted (line 767) | void dList_insert_sorted (Dlist *lp, void *data, dCompareFunc func)
function dParser_parse_rc_line (line 832) | int dParser_parse_rc_line(char **line, char **name, char **value)
function dLib_show_messages (line 874) | void dLib_show_messages(bool_t show)
function dClose (line 949) | int dClose(int fd)
FILE: dlib/dlib.h
type Dstr (line 102) | typedef struct {
type Dlist (line 131) | typedef struct {
FILE: dpi/bookmarks.c
type BmRec (line 56) | typedef struct {
type BmSec (line 63) | typedef struct {
function Unencode_str (line 467) | static void Unencode_str(char *e_str)
function Bmsrv_dpi_send_status_msg (line 493) | static int Bmsrv_dpi_send_status_msg(Dsh *sh, char *str)
function Bms_node_by_key_cmp (line 508) | static int Bms_node_by_key_cmp(const void *node, const void *key)
function Bms_node_by_section_cmp (line 516) | static int Bms_node_by_section_cmp(const void *node, const void *key)
function Bms_sec_by_number_cmp (line 524) | static int Bms_sec_by_number_cmp(const void *node, const void *key)
function BmRec (line 532) | static BmRec *Bms_get(int key)
function BmSec (line 540) | static BmSec *Bms_get_sec(int key)
function Bms_add (line 548) | static void Bms_add(int section, char *url, char *title)
function Bms_sec_add (line 563) | static void Bms_sec_add(char *title)
function Bms_del (line 576) | static void Bms_del(int key)
function Bms_sec_del (line 594) | static void Bms_sec_del(int section)
function Bms_move (line 619) | static void Bms_move(int key, int target_section)
function Bms_update_title (line 632) | static void Bms_update_title(int key, char *n_title)
function Bms_update_sec_title (line 646) | static void Bms_update_sec_title(int key, char *n_title)
function Bms_free (line 660) | static void Bms_free(void)
function Bms_normalize (line 678) | static void Bms_normalize(void)
function Bms_check_import (line 711) | static void Bms_check_import(void)
function Bms_load (line 752) | static int Bms_load(void)
function Bms_cond_load (line 826) | static int Bms_cond_load(void)
function Bms_save (line 852) | static int Bms_save(void)
function Bmsrv_add_bm (line 914) | static int Bmsrv_add_bm(Dsh *sh, char *url, char *title)
function Bmsrv_count_urls_and_sections (line 939) | static void Bmsrv_count_urls_and_sections(char *url, int *n_sec, int *n_...
function Bmsrv_send_reload_request (line 962) | static int Bmsrv_send_reload_request(Dsh *sh, char *url)
function Bmsrv_send_modify_page (line 977) | static int Bmsrv_send_modify_page(Dsh *sh)
function Bmsrv_send_modify_page_add_section (line 1046) | static int Bmsrv_send_modify_page_add_section(Dsh *sh)
function Bmsrv_send_modify_page_add_url (line 1059) | static int Bmsrv_send_modify_page_add_url(Dsh *sh)
function Bmsrv_send_modify_update (line 1073) | static int Bmsrv_send_modify_update(Dsh *sh, char *url)
function Bmsrv_send_modify_answer (line 1149) | static int Bmsrv_send_modify_answer(Dsh *sh, char *url)
function Bmsrv_modify_delete (line 1186) | static int Bmsrv_modify_delete(char *url)
function Bmsrv_modify_move (line 1232) | static int Bmsrv_modify_move(char *url)
function Bmsrv_modify_update (line 1271) | static int Bmsrv_modify_update(char *url)
function Bmsrv_modify_add_section (line 1326) | static int Bmsrv_modify_add_section(char *url)
function Bmsrv_modify_add_url (line 1354) | static int Bmsrv_modify_add_url(Dsh *sh, char *s_url)
function Bmsrv_check_modify_request (line 1407) | static int Bmsrv_check_modify_request(Dsh *sh, char *url)
function Bmsrv_process_modify_request (line 1472) | static int Bmsrv_process_modify_request(Dsh *sh, char *url)
function send_bm_page (line 1538) | static int send_bm_page(Dsh *sh)
function Bmsrv_parse_token (line 1610) | static int Bmsrv_parse_token(Dsh *sh, char *Buf)
function cleanup (line 1724) | static void cleanup(void)
function termination_handler (line 1732) | static void termination_handler(int signum)
function main (line 1741) | int main(void) {
FILE: dpi/cookies.c
function main (line 26) | int main(void)
type CookieControlAction (line 84) | typedef enum {
type CookieControl (line 90) | typedef struct {
type DomainNode (line 95) | typedef struct {
type CookieData_t (line 100) | typedef struct {
type ClientInfo (line 112) | typedef struct {
type tm (line 143) | struct tm
function Domain_node_cmp (line 158) | static int Domain_node_cmp(const void *v1, const void *v2)
function Domain_node_by_domain_cmp (line 168) | static int Domain_node_by_domain_cmp(const void *v1, const void *v2)
function Cookies_delete_node (line 179) | static void Cookies_delete_node(DomainNode *node)
function FILE (line 191) | static FILE *Cookies_fopen(const char *filename, const char *mode,
function Cookies_free_cookie (line 225) | static void Cookies_free_cookie(CookieData_t *cookie)
function Cookies_tm_init (line 234) | static void Cookies_tm_init(struct tm *tm)
function Cookies_load_cookies (line 248) | static void Cookies_load_cookies(FILE *stream)
function Cookies_init (line 335) | static void Cookies_init()
function Cookies_save_and_free (line 390) | static void Cookies_save_and_free()
function bool_t (line 460) | static bool_t Cookies_get_month(struct tm *tm, const char **str)
function Cookies_get_timefield (line 485) | static int Cookies_get_timefield(const char **str)
function bool_t (line 508) | static bool_t Cookies_get_time(struct tm *tm, const char **str)
function bool_t (line 534) | static bool_t Cookies_get_day(struct tm *tm, const char **str)
function bool_t (line 548) | static bool_t Cookies_get_year(struct tm *tm, const char **str)
function bool_t (line 588) | static bool_t Cookies_date_delim(char c)
type tm (line 606) | struct tm
type tm (line 610) | struct tm
function CookieData_t (line 656) | static CookieData_t *Cookies_get_LRU(Dlist *cookies)
function Cookies_rm_expired_cookies (line 677) | static int Cookies_rm_expired_cookies(DomainNode *node)
function Cookies_too_many (line 708) | static void Cookies_too_many(DomainNode *node)
function Cookies_add_cookie (line 725) | static void Cookies_add_cookie(CookieData_t *cookie)
function Cookies_eat_value (line 847) | static void Cookies_eat_value(char **cookie_str)
function Cookies_server_timediff (line 857) | static double Cookies_server_timediff(const char *server_date)
function Cookies_unquote_string (line 875) | static void Cookies_unquote_string(char *str)
function CookieData_t (line 892) | static CookieData_t *Cookies_parse(char *cookie_str, const char *server_...
function Cookies_cmp (line 1014) | static int Cookies_cmp(const void *a, const void *b)
function bool_t (line 1026) | static bool_t Cookies_domain_is_ip(const char *domain)
function bool_t (line 1054) | static bool_t Cookies_path_matches(const char *url_path,
function Cookies_validate_path (line 1076) | static void Cookies_validate_path(CookieData_t *cookie, const char *url_...
function bool_t (line 1096) | static bool_t Cookies_domain_matches(char *A, char *B)
function uint_t (line 1136) | static uint_t Cookies_internal_dots_required(const char *host)
function bool_t (line 1181) | static bool_t Cookies_validate_domain(CookieData_t *cookie, char *host)
function Cookies_set (line 1216) | static int Cookies_set(char *cookie_string, char *url_host,
function bool_t (line 1255) | static bool_t Cookies_match(CookieData_t *cookie, const char *url_path,
function Cookies_add_matching_cookies (line 1273) | static void Cookies_add_matching_cookies(const char *domain,
function Cookie_control_init (line 1418) | static int Cookie_control_init(void)
function CookieControlAction (line 1513) | static CookieControlAction Cookies_control_check_domain(const char *domain)
function srv_parse_tok (line 1545) | static int srv_parse_tok(Dsh *sh, ClientInfo *client, char *Buf)
function cleanup (line 1620) | static void cleanup(void)
function termination_handler (line 1630) | static void termination_handler(int signum)
function main (line 1639) | int main(void) {
FILE: dpi/datauri.c
function b64strip_illegal_chars (line 40) | static void b64strip_illegal_chars(unsigned char* str)
function b64decode (line 54) | static int b64decode(unsigned char* str)
function Url_decode_hex_octet (line 118) | static int Url_decode_hex_octet(const char *s)
function send_decoded_data (line 163) | static void send_decoded_data(const char *url, const char *mime_type,
function send_failure_message (line 182) | static void send_failure_message(const char *url, const char *mime_type,
function main (line 286) | int main(void)
FILE: dpi/downloads.cc
class ProgressBar (line 59) | class ProgressBar : public Fl_Box {
method range (line 71) | void range(double min, double max, double step = 1) {
method step (line 74) | void step(double step) { mPresent += step; redraw(); }
method minimum (line 76) | double minimum() { return mMin; }
method maximum (line 77) | double maximum() { return mMax; }
method minimum (line 78) | void minimum(double nm) { mMin = nm; }
method maximum (line 79) | void maximum(double nm) { mMax = nm; }
method position (line 80) | double position () { return mPresent; }
method step (line 81) | double step() { return mStep; }
method position (line 82) | void position(double pos) { mPresent = pos; redraw(); }
method showtext (line 83) | void showtext(bool st) { mShowPct = st; }
method message (line 84) | void message(char *msg) { mShowMsg = true; strncpy(mMsg,msg,63); redra...
method showtext (line 85) | bool showtext() { return mShowPct; }
method text_color (line 86) | void text_color(Fl_Color col) { mTextColor = col; }
method Fl_Color (line 87) | Fl_Color text_color() { return mTextColor; }
class DLItem (line 92) | class DLItem {
method pid_t (line 128) | pid_t pid() { return mPid; }
method pid (line 129) | void pid(pid_t p) { mPid = p; }
method status_msg (line 131) | void status_msg(const char *msg) { prBar->message((char*)msg); }
method Fl_Widget (line 132) | Fl_Widget *get_widget() { return group; }
method widget_done (line 133) | int widget_done() { return WidgetDone; }
method widget_done (line 134) | void widget_done(int val) { WidgetDone = val; }
method updates_done (line 135) | int updates_done() { return UpdatesDone; }
method updates_done (line 136) | void updates_done(int val) { UpdatesDone = val; }
method fork_done (line 137) | int fork_done() { return ForkDone; }
method fork_done (line 138) | void fork_done(int val) { ForkDone = val; }
method log_done (line 139) | int log_done() { return LogDone; }
method log_done (line 140) | void log_done(int val) { LogDone = val; }
method downloader_status (line 141) | int downloader_status() { return DownloaderStatus; }
method downloader_status (line 142) | void downloader_status(int val) { DownloaderStatus = val; }
class DLItemList (line 150) | class DLItemList {
method DLItemList (line 155) | DLItemList() { mNum = 0; mMax = 32; }
method num (line 157) | int num() { return mNum; }
method add (line 158) | void add(DLItem *i) { if (mNum < mMax) mList[mNum++] = i; }
method DLItem (line 159) | DLItem *get(int n) { return (n >= 0 && n < mNum) ? mList[n] : NULL; }
method del (line 160) | void del(int n) { if (n >= 0 && n < mNum) mList[n] = mList[--mNum]; }
class DLWin (line 165) | class DLWin {
method show (line 178) | void show() { mWin->show(); }
method hide (line 179) | void hide() { mWin->hide(); }
class DLWin (line 217) | class DLWin
method show (line 178) | void show() { mWin->show(); }
method hide (line 179) | void hide() { mWin->hide(); }
type Rectangle (line 244) | struct Rectangle {
function prButton_scb (line 276) | static void prButton_scb(Fl_Widget *, void *cb_data)
type stat (line 285) | struct stat
function read_log_cb (line 635) | static void read_log_cb(int fd_in, void *data)
function secs2timestr (line 698) | static void secs2timestr(int et, char *str)
type stat (line 718) | struct stat
function raw_sigchld (line 784) | static void raw_sigchld(int)
function est_sigchld (line 790) | static void est_sigchld(void)
function cleanup_cb (line 808) | static void cleanup_cb(void *data)
function update_cb (line 834) | static void update_cb(void *data)
function read_req_cb (line 864) | static void read_req_cb(int req_fd, void *)
function dlwin_esc_cb (line 942) | static void dlwin_esc_cb(Fl_Widget *, void *)
class DlScroll (line 1044) | class DlScroll : public Fl_Scroll
method resize (line 1047) | void resize(int x_, int y_, int w_, int h_)
method DlScroll (line 1061) | DlScroll(int x, int y, int w, int h, const char *l = 0)
function custLabelDraw (line 1109) | static void custLabelDraw(const Fl_Label* o, int X, int Y, int W, int H,
function custLabelMeasure (line 1120) | static void custLabelMeasure(const Fl_Label* o, int& W, int& H)
function main (line 1132) | int main()
FILE: dpi/file.c
type FileState (line 59) | typedef enum {
type ClientInfo (line 68) | typedef struct {
function File_close (line 99) | static void File_close(int fd)
function DilloDir (line 108) | static DilloDir *File_dillodir_fs_new(char *dirname)
type stat (line 159) | struct stat
function File_send_dir (line 184) | static void File_send_dir(ClientInfo *client)
function File_prepare_send_error_page (line 238) | static void File_prepare_send_error_page(ClientInfo *client, int res,
function File_send_error_page (line 251) | static void File_send_error_page(ClientInfo *client)
function File_prepare_send_dir (line 290) | static int File_prepare_send_dir(ClientInfo *client,
function File_prepare_send_file (line 319) | static int File_prepare_send_file(ClientInfo *client,
function File_get (line 350) | static void File_get(ClientInfo *client, const char *filename,
function File_send_file (line 374) | static int File_send_file(ClientInfo *client)
function File_toggle_html_style (line 458) | static void File_toggle_html_style(ClientInfo *client)
function termination_handler (line 471) | static void termination_handler(int signum)
function ClientInfo (line 483) | static ClientInfo *File_add_client(int sock_fd)
function File_remove_client (line 506) | static void File_remove_client(ClientInfo *client)
function File_serve_client (line 524) | static void File_serve_client(void *data, int f_write)
function File_serve_clients (line 595) | static void File_serve_clients()
function File_check_fds (line 619) | static int File_check_fds(uint_t seconds)
function main (line 659) | int main(void)
FILE: dpi/fileutil.c
function FileUtil_comp (line 43) | int FileUtil_comp(const FileInfo *f1, const FileInfo *f2)
function DilloDir (line 63) | DilloDir *FileUtil_dillodir_new(const char *dirname)
function FileUtil_dillodir_add (line 77) | void FileUtil_dillodir_add(DilloDir *Ddir, char *full_path, struct stat sb)
function FileUtil_dillodir_free (line 97) | void FileUtil_dillodir_free(DilloDir *Ddir)
function FileUtil_parse_hex_octet (line 120) | static int FileUtil_parse_hex_octet(const char *s)
function FileUtil_print_mtime (line 336) | void FileUtil_print_mtime(Dsh *sh, time_t mtime, int old_style)
function FileUtil_print_page_header (line 359) | void FileUtil_print_page_header(Dsh *sh, const char *dpiname, const char...
function FileUtil_print_parent_dir (line 389) | void FileUtil_print_parent_dir(Dsh *sh, const char *dpiname, const char ...
function FileUtil_print_table_header (line 414) | void FileUtil_print_table_header(Dsh *sh, int dirlen, int old_style)
function FileUtil_print_info (line 439) | void FileUtil_print_info(Dsh *sh, FileInfo *finfo, int n, const char *fi...
function FileUtil_print_table_footer (line 518) | void FileUtil_print_table_footer(Dsh *sh, int dirlen, int old_style)
function FileUtil_print_page_footer (line 528) | void FileUtil_print_page_footer(Dsh *sh, int old_style)
FILE: dpi/fileutil.h
type DilloDir (line 31) | typedef struct {
type FileInfo (line 36) | typedef struct {
type stat (line 58) | struct stat
FILE: dpi/ftp.c
type ContentType_t (line 65) | typedef struct {
function a_Misc_get_content_type_from_data2 (line 90) | static int a_Misc_get_content_type_from_data2(void *Data, size_t Size,
function make_ftp_tool_argv (line 152) | static void make_ftp_tool_argv(char *url)
function try_ftp_transfer (line 186) | static int try_ftp_transfer(char *url)
function main (line 371) | int main(int argc, char **argv)
FILE: dpi/gemini.c
function dialog_get_answer_number (line 112) | static int dialog_get_answer_number(void)
function SSL_read_line (line 130) | static int SSL_read_line(SSL *ssl, char *buf, int num)
function SSL_read_until_delims (line 149) | static int SSL_read_until_delims(SSL *ssl, char *buf, int num, const cha...
function SSL_CTX (line 168) | SSL_CTX *init_ssl(void)
function SSL (line 249) | static SSL *init_ssl_connection(SSL_CTX *ssl_context)
function open_ssl_connection (line 276) | static int open_ssl_connection(SSL *ssl_connection, char *url,
function gemini_send_request (line 386) | int gemini_send_request(SSL *ssl_connection, char *query,
function yes_ssl_support (line 421) | static void yes_ssl_support(void)
function get_network_connection (line 640) | static int get_network_connection(char * url)
function handle_certificate_problem (line 715) | static int handle_certificate_problem(SSL * ssl_connection)
function save_certificate_home (line 995) | static int save_certificate_home(X509 * cert)
function no_ssl_support (line 1046) | static void no_ssl_support(void)
function download (line 1115) | int download(char *url, char *output_filename,
function main (line 1236) | int main(int argc, char *argv[])
FILE: dpi/gopher.c
function get_network_connection (line 80) | static int get_network_connection(char * url)
function gopher_parse_url (line 147) | static int gopher_parse_url(char *url, char *type, int *url_proto_len,
function gopher_open_connection (line 194) | static int gopher_open_connection(char *url, int url_proto_len,
function gopher_main (line 266) | static void gopher_main(void)
function download (line 416) | int download(char *url, char *output_filename,
function main (line 495) | int main(int argc, char *argv[])
FILE: dpi/hello.c
function main (line 36) | int main(void)
FILE: dpi/man.c
type ManpageType (line 59) | typedef enum {
type FileState (line 64) | typedef enum {
type FormatState (line 75) | typedef enum {
type ClientInfo (line 80) | typedef struct {
function FILE (line 103) | FILE *Man_open(const char *args, const char *manpage) {
function Man_close (line 304) | static void Man_close(FILE *fp)
function Man_prepare_send_error_page (line 312) | static void Man_prepare_send_error_page(ClientInfo *client, int res,
function Man_send_error_page (line 325) | static void Man_send_error_page(ClientInfo *client)
function Man_prepare_send_file (line 364) | static int Man_prepare_send_file(ClientInfo *client,
function Man_parse_path (line 404) | static int Man_parse_path(char *path, char **manpage) {
function Man_get (line 449) | static void Man_get(ClientInfo *client, char *filename,
function Man_send_file (line 477) | static int Man_send_file(ClientInfo *client)
function termination_handler (line 604) | static void termination_handler(int signum)
function ClientInfo (line 616) | static ClientInfo *Man_add_client(int sock_fd)
function Man_remove_client (line 636) | static void Man_remove_client(ClientInfo *client)
function Man_serve_client (line 653) | static void Man_serve_client(void *data, int f_write)
function Man_serve_clients (line 722) | static void Man_serve_clients()
function Man_check_fds (line 746) | static int Man_check_fds(uint_t seconds)
function main (line 786) | int main(void)
FILE: dpi/vsource.c
function send_dpip_tag (line 36) | void send_dpip_tag(Dsh *sh, char *dpip_tag)
function send_plain_text (line 47) | void send_plain_text(Dsh *sh, int data_size)
function send_numbered_text (line 68) | void send_numbered_text(Dsh *sh, int data_size)
function send_html_text (line 104) | void send_html_text(Dsh *sh, const char *url, int data_size)
function main (line 169) | int main(void)
FILE: dpi/zip.c
type FileState (line 61) | typedef enum {
type ClientInfo (line 70) | typedef struct {
type ZipFileInfo (line 83) | typedef struct {
function FILE (line 110) | FILE *Zip_open(const char *cmd, const char *mode, const char *args,
function Zip_close (line 178) | static void Zip_close(FILE *fp)
function FILE (line 186) | FILE *Zip_open_listing(const char *archive_filename) {
function FILE (line 197) | FILE *Zip_open_extract(const char *archive_filename, const char *inner_f...
function Zip_parse_list_line (line 210) | int Zip_parse_list_line(char *line, ZipFileInfo *zfi) {
function DilloDir (line 270) | static DilloDir *Zip_dillodir_fs_new(const char *archive_filename)
function Zip_send_dir (line 354) | static void Zip_send_dir(ClientInfo *client)
function Zip_prepare_send_error_page (line 408) | static void Zip_prepare_send_error_page(ClientInfo *client, int res,
function Zip_send_error_page (line 421) | static void Zip_send_error_page(ClientInfo *client)
function Zip_prepare_send_dir (line 460) | static int Zip_prepare_send_dir(ClientInfo *client,
function Zip_prepare_send_file (line 489) | static int Zip_prepare_send_file(ClientInfo *client,
function Zip_parse_path (line 516) | static int Zip_parse_path(char *path, char **archive_filename,
function Zip_get (line 563) | static void Zip_get(ClientInfo *client, char *filename,
function Zip_send_file (line 593) | static int Zip_send_file(ClientInfo *client)
function Zip_toggle_html_style (line 679) | static void Zip_toggle_html_style(ClientInfo *client)
function termination_handler (line 692) | static void termination_handler(int signum)
function ClientInfo (line 704) | static ClientInfo *Zip_add_client(int sock_fd)
function Zip_remove_client (line 727) | static void Zip_remove_client(ClientInfo *client)
function Zip_serve_client (line 746) | static void Zip_serve_client(void *data, int f_write)
function Zip_serve_clients (line 817) | static void Zip_serve_clients()
function Zip_check_fds (line 841) | static int Zip_check_fds(uint_t seconds)
function main (line 881) | int main(void)
FILE: dpid/dpi_socket_dir.c
function w_dpi_socket_dir (line 34) | int w_dpi_socket_dir(char *dirname, char *sockdir)
function tst_dir (line 54) | int tst_dir(char *dir)
FILE: dpid/dpid-plus.c
function cleanup (line 48) | void cleanup()
function free_dpi_attr (line 59) | void free_dpi_attr(struct dp *dpi_attr)
function free_plugin_list (line 73) | void free_plugin_list(struct dp **dpi_attr_list_ptr, int numdpis)
function free_services_list (line 90) | void free_services_list(Dlist *s_list)
function terminator (line 104) | static void terminator(int sig)
function est_dpi_terminator (line 113) | void est_dpi_terminator()
function get_file_type (line 147) | enum file_type get_file_type(char *file_name)
function get_dpi_attr (line 219) | int get_dpi_attr(char *dpi_dir, char *service, struct dp *dpi_attr)
function register_service (line 279) | int register_service(struct dp *dpi_attr, char *service)
function register_all (line 333) | int register_all(struct dp **attlist)
function services_alpha_comp (line 410) | static int services_alpha_comp(const struct service *s1,
function fill_services_list (line 423) | int fill_services_list(struct dp *attlist, int numdpis, Dlist **services...
function make_socket_fd (line 517) | static int make_socket_fd()
function bind_socket_fd (line 540) | int bind_socket_fd(int base_port, int *p_port)
function save_comm_keys (line 584) | int save_comm_keys(int srs_port)
function init_ids_srs_socket (line 609) | int init_ids_srs_socket()
function init_dpi_socket (line 633) | int init_dpi_socket(struct dp *dpi_attr)
function init_all_dpi_sockets (line 657) | int init_all_dpi_sockets(struct dp *dpi_attr_list)
function dpi_sigchld (line 673) | void dpi_sigchld(int sig)
function handle_sigchld (line 680) | void handle_sigchld(void)
function est_dpi_sigchld (line 703) | void est_dpi_sigchld(void)
function ckd_connect (line 719) | int ckd_connect (int sock_fd, struct sockaddr *addr, socklen_t len)
function stop_active_dpis (line 734) | void stop_active_dpis(struct dp *dpi_attr_list, int numdpis)
function ignore_dpi_sockets (line 780) | void ignore_dpi_sockets(struct dp *dpi_attr_list, int numdpis)
function register_all_cmd (line 797) | int register_all_cmd()
function service_match (line 837) | int service_match(const struct service *A, const char *B)
function send_sockport (line 854) | void send_sockport(int sock_fd, char *dpi_tag, struct dp *dpi_attr_list)
FILE: dpid/dpid-plus.h
type dp (line 35) | struct dp {
type service (line 46) | struct service {
type dp (line 58) | struct dp
type dp (line 69) | struct dp
type dp (line 73) | struct dp
type dp (line 75) | struct dp
type file_type (line 79) | enum file_type
type dp (line 81) | struct dp
type dp (line 83) | struct dp
type dp (line 85) | struct dp
type dp (line 87) | struct dp
type dp (line 91) | struct dp
type dp (line 93) | struct dp
type dp (line 103) | struct dp
type dp (line 105) | struct dp
type service (line 111) | struct service
type dp (line 113) | struct dp
FILE: dpid/dpid_common.c
function errmsg (line 20) | void errmsg(char *caller, char *called, int errornum, char *file, int line)
function ckd_write (line 32) | ssize_t ckd_write(int fd, char *msg, char *file, int line)
function ckd_close (line 50) | ssize_t ckd_close(int fd, char *file, int line)
FILE: dpid/dpid_common.h
type dpi_errno_t (line 40) | enum dpi_errno_t {
type dpi_errno_t (line 45) | enum dpi_errno_t
type file_type (line 50) | enum file_type {
FILE: dpid/dpidc-plus.c
function print_usage (line 22) | static void print_usage(const char *prgname)
function error (line 28) | static void error(char *msg)
function Dpi_read_comm_keys (line 38) | static int Dpi_read_comm_keys(int *port)
function main (line 62) | int main(int argc, char *argv[])
FILE: dpid/main.c
type dpi_errno_t (line 34) | enum dpi_errno_t
type dp (line 35) | struct dp
function start_filter_plugin (line 48) | static int start_filter_plugin(struct dp dpi_attr)
function start_server_plugin (line 100) | static void start_server_plugin(struct dp dpi_attr)
function get_command (line 140) | static int get_command(Dsh *sh, char *dpi_tag)
function server_is_running (line 181) | static int server_is_running(char *server_id)
function get_open_max (line 198) | static int get_open_max(void)
function main (line 214) | int main(void)
FILE: dpid/misc_new.c
function Dstr (line 28) | Dstr *a_Misc_rdtag(int socket)
type stat (line 153) | struct stat
FILE: dpip/dpip.c
type DpipTagParsingState (line 62) | typedef enum {
function a_Dpip_check_auth (line 196) | int a_Dpip_check_auth(const char *auth_tag)
function Dsh (line 242) | Dsh *a_Dpip_dsh_new(int fd_in, int fd_out, int flush_sz)
function Dpip_dsh_write (line 265) | static int Dpip_dsh_write(Dsh *dsh, int nb, const char *Data, int DataSize)
function a_Dpip_dsh_write (line 312) | int a_Dpip_dsh_write(Dsh *dsh, int flush, const char *Data, int DataSize)
function a_Dpip_dsh_tryflush (line 335) | int a_Dpip_dsh_tryflush(Dsh *dsh)
function a_Dpip_dsh_trywrite (line 354) | int a_Dpip_dsh_trywrite(Dsh *dsh, const char *Data, int DataSize)
function a_Dpip_dsh_write_str (line 369) | int a_Dpip_dsh_write_str(Dsh *dsh, int flush, const char *str)
function Dpip_dsh_read (line 378) | static void Dpip_dsh_read(Dsh *dsh, int blocking)
function a_Dpip_dsh_close (line 499) | void a_Dpip_dsh_close(Dsh *dsh)
function a_Dpip_dsh_free (line 520) | void a_Dpip_dsh_free(Dsh *dsh)
FILE: dpip/dpip.h
type DpipDshStatus (line 22) | typedef enum {
type Dsh (line 31) | typedef struct {
FILE: dw/alignedtablecell.cc
type dw (line 28) | namespace dw {
FILE: dw/alignedtablecell.hh
type dw (line 7) | namespace dw {
class AlignedTableCell (line 9) | class AlignedTableCell: public AlignedTextblock
FILE: dw/alignedtextblock.cc
type dw (line 26) | namespace dw {
FILE: dw/alignedtextblock.hh
type dw (line 7) | namespace dw {
class AlignedTextblock (line 13) | class AlignedTextblock: public Textblock
class List (line 16) | class List
method getMaxValue (line 30) | inline int getMaxValue () { return maxValue; }
method setMaxValue (line 31) | inline void setMaxValue (int maxValue) { this->maxValue = maxValue; }
method size (line 33) | inline int size () { return textblocks->size (); }
method AlignedTextblock (line 34) | inline AlignedTextblock *getTextblock (int pos) {
method getValue (line 36) | inline int getValue (int pos) {return values->get (pos); }
method setValue (line 37) | inline void setValue (int pos, int value) {
FILE: dw/bullet.cc
type dw (line 26) | namespace dw {
FILE: dw/bullet.hh
type dw (line 6) | namespace dw {
class Bullet (line 14) | class Bullet: public core::Widget
FILE: dw/core.hh
type dw (line 13) | namespace dw {
type core (line 23) | namespace core {
class Layout (line 27) | class Layout
class View (line 28) | class View
class Widget (line 29) | class Widget
class Iterator (line 30) | class Iterator
class StackingContextMgr (line 31) | class StackingContextMgr
function freeall (line 34) | inline void freeall () { }
type ui (line 36) | namespace ui {
class ResourceFactory (line 38) | class ResourceFactory
FILE: dw/events.hh
type dw (line 8) | namespace dw {
type core (line 9) | namespace core {
type ButtonState (line 14) | enum ButtonState
class Event (line 31) | class Event: public lout::object::Object
class MouseEvent (line 39) | class MouseEvent: public Event
class MousePositionEvent (line 48) | class MousePositionEvent: public MouseEvent
class EventButton (line 57) | class EventButton: public MousePositionEvent
class EventMotion (line 67) | class EventMotion: public MousePositionEvent
class EventCrossing (line 74) | class EventCrossing: public MouseEvent
FILE: dw/findtext.cc
type dw (line 26) | namespace dw {
type core (line 27) | namespace core {
FILE: dw/findtext.hh
type dw (line 10) | namespace dw {
type core (line 11) | namespace core {
class FindtextState (line 13) | class FindtextState
method charsEqual (line 68) | inline static bool charsEqual (char c1, char c2, bool caseSens)
FILE: dw/fltkcomplexbutton.hh
type dw (line 26) | namespace dw {
type fltk (line 27) | namespace fltk {
type ui (line 28) | namespace ui {
class ComplexButton (line 30) | class ComplexButton : public Fl_Group {
method value (line 49) | char value() const {return value_;}
method Fl_Boxtype (line 55) | Fl_Boxtype down_box() const {return (Fl_Boxtype)down_box_;}
method down_box (line 62) | void down_box(Fl_Boxtype b) {down_box_ = b;}
FILE: dw/fltkcore.hh
type dw (line 6) | namespace dw {
type fltk (line 7) | namespace fltk {
type ui (line 8) | namespace ui {
class FltkResource (line 10) | class FltkResource
function freeall (line 26) | inline void freeall ()
type fltk (line 24) | namespace fltk {
type ui (line 8) | namespace ui {
class FltkResource (line 10) | class FltkResource
function freeall (line 26) | inline void freeall ()
type dw (line 23) | namespace dw {
type fltk (line 7) | namespace fltk {
type ui (line 8) | namespace ui {
class FltkResource (line 10) | class FltkResource
function freeall (line 26) | inline void freeall ()
type fltk (line 24) | namespace fltk {
type ui (line 8) | namespace ui {
class FltkResource (line 10) | class FltkResource
function freeall (line 26) | inline void freeall ()
FILE: dw/fltkflatview.cc
type dw (line 29) | namespace dw {
type fltk (line 30) | namespace fltk {
FILE: dw/fltkflatview.hh
type dw (line 8) | namespace dw {
type fltk (line 9) | namespace fltk {
class FltkFlatView (line 11) | class FltkFlatView: public FltkWidgetView
FILE: dw/fltkimgbuf.cc
type dw (line 32) | namespace dw {
type fltk (line 33) | namespace fltk {
type ScaleMode (line 37) | enum ScaleMode { SIMPLE, BEAUTIFUL, BEAUTIFUL_GAMMA }
function uchar (line 43) | uchar *FltkImgbuf::findGammaCorrectionTable (double gamma)
FILE: dw/fltkimgbuf.hh
type dw (line 8) | namespace dw {
type fltk (line 9) | namespace fltk {
class FltkImgbuf (line 11) | class FltkImgbuf: public core::Imgbuf
class GammaCorrectionTable (line 14) | class GammaCorrectionTable: public lout::object::Object
method isRoot (line 50) | int isRoot() { return (root == NULL); }
FILE: dw/fltkmisc.cc
type dw (line 27) | namespace dw {
type fltk (line 28) | namespace fltk {
type misc (line 29) | namespace misc {
function screenWidth (line 31) | int screenWidth ()
function screenHeight (line 36) | int screenHeight ()
function warpPointer (line 41) | void warpPointer (int x, int y)
FILE: dw/fltkmisc.hh
type dw (line 4) | namespace dw {
type fltk (line 5) | namespace fltk {
type misc (line 10) | namespace misc {
FILE: dw/fltkplatform.cc
type dw (line 40) | namespace dw {
type fltk (line 41) | namespace fltk {
function Fl_Font (line 82) | Fl_Font FltkFont::FontFamily::get (int attrs)
function strstrip (line 133) | static void strstrip(char *big, const char *little)
function Fl_Font (line 185) | Fl_Font
function FltkFont (line 204) | FltkFont*
function FltkColor (line 242) | FltkColor * FltkColor::create (int col)
function FltkTooltip (line 265) | FltkTooltip *FltkTooltip::create (const char *text)
function tooltip_tcb (line 274) | static void tooltip_tcb(void *data)
FILE: dw/fltkplatform.hh
type dw (line 8) | namespace dw {
type fltk (line 13) | namespace fltk {
class FltkFont (line 15) | class FltkFont: public core::style::Font
class FontFamily (line 17) | class FontFamily: public lout::object::Object {
class FltkColor (line 47) | class FltkColor: public core::style::Color
class FltkTooltip (line 61) | class FltkTooltip: public core::style::Tooltip
class FltkView (line 78) | class FltkView: public core::View
class FltkPlatform (line 92) | class FltkPlatform: public core::Platform
class FltkResourceFactory (line 95) | class FltkResourceFactory: public core::ui::ResourceFactory
method setPlatform (line 101) | inline void setPlatform (FltkPlatform *platform) {
class IdleFunc (line 127) | class IdleFunc: public lout::object::Object
FILE: dw/fltkpreview.cc
type dw (line 32) | namespace dw {
type fltk (line 33) | namespace fltk {
FILE: dw/fltkpreview.hh
type dw (line 8) | namespace dw {
type fltk (line 9) | namespace fltk {
class FltkPreview (line 11) | class FltkPreview: public FltkViewBase
class FltkPreviewWindow (line 58) | class FltkPreviewWindow: public Fl_Menu_Window
class FltkPreviewButton (line 79) | class FltkPreviewButton: public Fl_Button
FILE: dw/fltkui.cc
function Fl_Color (line 41) | static Fl_Color fltkui_dimmed(Fl_Color c, Fl_Color bg)
class CustInput2 (line 55) | class CustInput2 : public Fl_Input {
class CustTextEditor (line 214) | class CustTextEditor : public Fl_Text_Editor {
class CustChoice (line 350) | class CustChoice : public Fl_Choice {
method CustChoice (line 352) | CustChoice (int x, int y, int w, int h, const char* l=0) :
type dw (line 393) | namespace dw {
type fltk (line 394) | namespace fltk {
type ui (line 395) | namespace ui {
class EnterButton (line 609) | class EnterButton : public Fl_Button {
method EnterButton (line 611) | EnterButton (int x,int y,int w,int h, const char* label = 0) :
function Fl_Widget (line 640) | Fl_Widget *FltkLabelButtonResource::createNewWidget (core::Allocation
function getDwButtonState (line 679) | static core::ButtonState getDwButtonState ()
function setButtonEvent (line 694) | static void setButtonEvent(dw::core::EventButton *event)
function Fl_Widget (line 840) | Fl_Widget *FltkComplexButtonResource::createNewWidget (core::Alloc...
function Fl_Widget (line 892) | Fl_Widget *FltkEntryResource::createNewWidget (core::Allocation
function kf_backspace_word (line 1022) | static int kf_backspace_word (int c, Fl_Text_Editor *e)
function Fl_Widget (line 1069) | Fl_Widget *FltkMultiLineTextResource::createNewWidget (core::Alloc...
function Fl_Widget (line 1163) | Fl_Widget *FltkToggleButtonResource<I>::createNewWidget (core::All...
function Fl_Button (line 1236) | Fl_Button *FltkCheckButtonResource::createNewButton (core::Allocation
function Fl_Button (line 1335) | Fl_Button *FltkRadioButtonResource::createNewButton (core::Allocation
function Fl_Widget (line 1407) | Fl_Widget *FltkOptionMenuResource::createNewWidget (core::Allocation
function Fl_Menu_Item (line 1480) | Fl_Menu_Item *FltkOptionMenuResource::newItem()
class CustBrowser (line 1548) | class CustBrowser : public Fl_Browser {
method CustBrowser (line 1550) | CustBrowser(int x, int y, int w, int h) : Fl_Browser(x, y, w, h) {}
method full_height (line 1552) | int full_height() const {return Fl_Browser::full_height();}
method avg_height (line 1553) | int avg_height() {return size() ? Fl_Browser_::incr_height() : 0;}
function Fl_Widget (line 1591) | Fl_Widget *FltkListResource::createNewWidget (core::Allocation *al...
FILE: dw/fltkui.hh
type dw (line 12) | namespace dw {
type fltk (line 13) | namespace fltk {
type ui (line 182) | namespace ui {
class FltkResource (line 187) | class FltkResource: public lout::object::Object
class FltkSpecificResource (line 224) | class FltkSpecificResource: public I, public FltkResource
class FltkLabelButtonResource (line 240) | class FltkLabelButtonResource:
class FltkComplexButtonResource (line 262) | class FltkComplexButtonResource:
class FltkEntryResource (line 297) | class FltkEntryResource:
class FltkMultiLineTextResource (line 332) | class FltkMultiLineTextResource:
class FltkToggleButtonResource (line 357) | class FltkToggleButtonResource:
class FltkCheckButtonResource (line 380) | class FltkCheckButtonResource:
class FltkRadioButtonResource (line 393) | class FltkRadioButtonResource:
class Group (line 397) | class Group
class FltkGroupIterator (line 400) | class FltkGroupIterator:
method FltkGroupIterator (line 407) | inline FltkGroupIterator (lout::container::typed::List
method iterator (line 425) | inline lout::container::typed::Iterator <FltkRadioButtonResource>
class FltkSelectionResource (line 459) | class FltkSelectionResource:
method setSelectedItems (line 463) | virtual bool setSelectedItems() { return false; }
method FltkSelectionResource (line 469) | FltkSelectionResource (FltkPlatform *platform) :
class FltkOptionMenuResource (line 475) | class FltkOptionMenuResource:
method setSelectedItems (line 480) | virtual bool setSelectedItems() { return true; }
class FltkListResource (line 503) | class FltkListResource:
FILE: dw/fltkviewbase.cc
type dw (line 33) | namespace dw {
type fltk (line 34) | namespace fltk {
function getDwButtonState (line 202) | core::ButtonState getDwButtonState ()
FILE: dw/fltkviewbase.hh
type dw (line 12) | namespace dw {
type fltk (line 13) | namespace fltk {
class FltkViewBase (line 15) | class FltkViewBase: public FltkView, public Fl_Group
class BackBuffer (line 18) | class BackBuffer {
method clipPoint (line 43) | inline void clipPoint (int *x, int *y, int border) {
class FltkWidgetView (line 111) | class FltkWidgetView: public FltkViewBase
FILE: dw/fltkviewport.cc
type dw (line 36) | namespace dw {
type fltk (line 37) | namespace fltk {
class CustScrollbar (line 42) | class CustScrollbar : public Fl_Scrollbar
method CustScrollbar (line 45) | CustScrollbar(int x, int y, int w, int h) : Fl_Scrollbar(x,y,w,h) {}
method handle (line 46) | int handle(int e) {
FILE: dw/fltkviewport.hh
type dw (line 11) | namespace dw {
type fltk (line 12) | namespace fltk {
class FltkViewport (line 14) | class FltkViewport: public FltkWidgetView
type GadgetOrientation (line 17) | enum GadgetOrientation { GADGET_VERTICAL, GADGET_HORIZONTAL }
method setDragScroll (line 76) | void setDragScroll (bool enable) { hasDragScroll = enable ? 1 : 0; }
FILE: dw/hyphenator.cc
type dw (line 43) | namespace dw {
function Hyphenator (line 115) | Hyphenator *Hyphenator::getHyphenator (const char *lang)
function Trie (line 487) | Trie *TrieBuilder::createTrie ()
FILE: dw/hyphenator.hh
type dw (line 8) | namespace dw {
class Trie (line 10) | class Trie {
type TrieNode (line 12) | struct TrieNode {
method validState (line 30) | inline bool validState (int state) { return state >= 0 && state < si...
class TrieBuilder (line 50) | class TrieBuilder {
type StackEntry (line 52) | struct StackEntry {
type DataEntry (line 60) | struct DataEntry {
class Hyphenator (line 86) | class Hyphenator: public lout::object::Object
method saveTrie (line 110) | void saveTrie (FILE *fp) { trie->save (fp); }
FILE: dw/image.cc
type dw (line 27) | namespace dw {
FILE: dw/image.hh
type dw (line 6) | namespace dw {
class ImageMapsList (line 23) | class ImageMapsList
class ImageMap (line 26) | class ImageMap: public lout::object::Object {
class ShapeAndLink (line 28) | class ShapeAndLink: public lout::object::Object {
method setDefaultLink (line 44) | void setDefaultLink (int link) { defaultLink = link; }
class Image (line 119) | class Image: public core::Widget, public core::ImgRenderer
method getAdjustMinWidth (line 161) | virtual bool getAdjustMinWidth () { return false; }
method forceMapRedraw (line 181) | void forceMapRedraw () { if (mapKey && ! buffer) queueDraw (); }
FILE: dw/imgbuf.hh
type dw (line 10) | namespace dw {
type core (line 11) | namespace core {
class Imgbuf (line 161) | class Imgbuf: public lout::object::Object, public lout::signal::Obse...
type Type (line 164) | enum Type { RGB, RGBA, GRAY, INDEXED, INDEXED_ALPHA }
method Imgbuf (line 166) | inline Imgbuf () {
FILE: dw/imgrenderer.cc
type dw (line 22) | namespace dw {
type core (line 23) | namespace core {
FILE: dw/imgrenderer.hh
type dw (line 8) | namespace dw {
type core (line 9) | namespace core {
class ImgRenderer (line 16) | class ImgRenderer
class ImgRendererDist (line 59) | class ImgRendererDist: public ImgRenderer
method ImgRendererDist (line 65) | inline ImgRendererDist ()
method put (line 75) | void put (ImgRenderer *child)
method remove (line 77) | void remove (ImgRenderer *child)
FILE: dw/iterator.cc
type dw (line 27) | namespace dw {
type core (line 28) | namespace core {
function Iterator (line 356) | Iterator *DeepIterator::searchDownward (Iterator *it, Content::Type ...
function Iterator (line 403) | Iterator *DeepIterator::searchSideward (Iterator *it, Content::Type ...
function Widget (line 462) | Widget *DeepIterator::getRespectiveParent (Widget *widget, Content::...
function DeepIterator (line 656) | DeepIterator *DeepIterator::createVariant(Iterator *it)
FILE: dw/iterator.hh
type dw (line 8) | namespace dw {
type core (line 9) | namespace core {
class Iterator (line 19) | class Iterator: public lout::object::Comparable
method Widget (line 36) | inline Widget *getWidget () { return widget; }
method Content (line 37) | inline Content *getContent () { return &content; }
method getMask (line 38) | inline Content::Type getMask () { return mask; }
method Iterator (line 85) | inline Iterator *cloneIterator () { return (Iterator*)clone(); }
class EmptyIterator (line 96) | class EmptyIterator: public Iterator
class TextIterator (line 118) | class TextIterator: public Iterator
class DeepIterator (line 146) | class DeepIterator: public lout::object::Comparable
class Stack (line 149) | class Stack: public lout::container::typed::Vector<Iterator>
method Stack (line 152) | inline Stack (): lout::container::typed::Vector<Iterator> (4, fa...
method Iterator (line 154) | inline Iterator *getTop () { return get (size () - 1); }
method push (line 155) | inline void push (Iterator *it) { put(it, -1); }
method pop (line 156) | inline void pop() { getTop()->unref (); remove (size () - 1); }
method DeepIterator (line 170) | inline DeepIterator () { }
method Widget (line 173) | inline Widget *getRespectiveParent (Widget *widget) {
method getRespectiveLevel (line 178) | inline int getRespectiveLevel (Widget *widget) {
method Iterator (line 189) | inline Iterator *getTopIterator () { return stack.getTop(); }
method Content (line 190) | inline Content *getContent () { return &content; }
method DeepIterator (line 196) | inline DeepIterator *cloneDeepIterator() { return (DeepIterator*)c...
method highlight (line 207) | inline void highlight (int start, int end, HighlightLayer layer)
method getAllocation (line 217) | inline void getAllocation (int start, int end, Allocation *allocat...
method unhighlight (line 220) | inline void unhighlight (int direction, HighlightLayer layer)
method scrollTo (line 223) | inline static void scrollTo (DeepIterator *it1, DeepIterator *it2,
class CharIterator (line 230) | class CharIterator: public lout::object::Comparable
method getChar (line 252) | inline int getChar() { return ch; }
method CharIterator (line 253) | inline CharIterator *cloneCharIterator() { return (CharIterator*)c...
method scrollTo (line 260) | inline static void scrollTo (CharIterator *it1, CharIterator *it2,
FILE: dw/layout.cc
type dw (line 32) | namespace dw {
type core (line 33) | namespace core {
function Widget (line 1110) | Widget *Layout::getWidgetAtPoint (int x, int y)
FILE: dw/layout.hh
type dw (line 8) | namespace dw {
type core (line 9) | namespace core {
class Layout (line 16) | class Layout: public lout::object::Object
class LayoutImgRenderer (line 21) | class LayoutImgRenderer: public style::StyleImage::ExternalImgRend...
method LayoutImgRenderer (line 26) | LayoutImgRenderer (Layout *layout) { this->layout = layout; }
class Receiver (line 47) | class Receiver: public lout::signal::Receiver
class LinkReceiver (line 54) | class LinkReceiver: public lout::signal::Receiver
class LinkEmitter (line 103) | class LinkEmitter: public lout::signal::Emitter
method connectLink (line 113) | inline void connectLink (LinkReceiver *receiver) { connect (rece...
class Emitter (line 127) | class Emitter: public lout::signal::Emitter
method connectLayout (line 137) | inline void connectLayout (Receiver *receiver) { connect (receiv...
class Anchor (line 145) | class Anchor: public lout::object::Object
type ButtonEventType (line 190) | enum ButtonEventType { BUTTON_PRESS, BUTTON_RELEASE, MOTION_NOTIFY }
method moveToWidgetAtPoint (line 201) | void moveToWidgetAtPoint (int x, int y, ButtonState state)
method moveOutOfView (line 208) | void moveOutOfView (ButtonState state) { moveToWidget (NULL, state...
method enterResizeIdle (line 251) | void enterResizeIdle () { resizeIdleCounter++; }
method leaveResizeIdle (line 252) | void leaveResizeIdle () { resizeIdleCounter--; }
method connectLink (line 258) | inline void connectLink (LinkReceiver *receiver)
method emitLinkEnter (line 261) | inline bool emitLinkEnter (Widget *w, int link, int img, int x, in...
method emitLinkPress (line 264) | inline bool emitLinkPress (Widget *w, int link, int img,
method emitLinkRelease (line 268) | inline bool emitLinkRelease (Widget *w, int link, int img,
method emitLinkClick (line 272) | inline bool emitLinkClick (Widget *w, int link, int img,
method getUsesViewport (line 284) | inline bool getUsesViewport () { return usesViewport; }
method getWidthViewport (line 285) | inline int getWidthViewport () { return viewportWidth; }
method getHeightViewport (line 286) | inline int getHeightViewport () { return viewportHeight; }
method getScrollPosX (line 287) | inline int getScrollPosX () { return scrollX; }
method getScrollPosY (line 288) | inline int getScrollPosY () { return scrollY; }
method expose (line 299) | inline void expose (View *view, Rectangle *area) {
method buttonPress (line 314) | inline bool buttonPress (View *view, int numPressed, int x, int y,
method buttonRelease (line 328) | inline bool buttonRelease (View *view, int numPressed, int x, int y,
method Platform (line 342) | inline Platform *getPlatform ()
method textWidth (line 349) | inline int textWidth (style::Font *font, const char *text, int len)
method nextGlyph (line 364) | inline int nextGlyph (const char *text, int idx)
method prevGlyph (line 369) | inline int prevGlyph (const char *text, int idx)
method dpiX (line 374) | inline float dpiX ()
method dpiY (line 379) | inline float dpiY ()
method fontExists (line 389) | inline bool fontExists (const char *name)
method cancelTooltip (line 404) | inline void cancelTooltip ()
method Imgbuf (line 409) | inline Imgbuf *createImgbuf (Imgbuf::Type type, int width, int hei...
method copySelection (line 415) | inline void copySelection(const char *text)
method connect (line 425) | inline void connect (Receiver *receiver) {
method search (line 429) | inline FindtextState::Result search (const char *str, bool caseSens,
method resetSearch (line 434) | inline void resetSearch () { findtextState.resetSearch (); }
FILE: dw/listitem.cc
type dw (line 26) | namespace dw {
FILE: dw/listitem.hh
type dw (line 7) | namespace dw {
class ListItem (line 9) | class ListItem: public AlignedTextblock
FILE: dw/oofawarewidget.cc
type dw (line 33) | namespace dw {
type oof (line 35) | namespace oof {
function Widget (line 456) | Widget *OOFAwareWidget::getWidgetAtPoint (int x, int y,
function Widget (line 473) | Widget *OOFAwareWidget::getWidgetAtPointLevel (int x, int y, int level,
function Widget (line 526) | Widget *OOFAwareWidget::getWidgetOOFAtPoint (int x, int y,
FILE: dw/oofawarewidget.hh
type dw (line 7) | namespace dw {
type oof (line 9) | namespace oof {
class OOFAwareWidget (line 77) | class OOFAwareWidget: public core::Widget
class OOFAwareWidgetIterator (line 85) | class OOFAwareWidgetIterator: public core::Iterator
method cloneValues (line 100) | inline void cloneValues (OOFAwareWidgetIterator *other)
method inFlow (line 103) | inline bool inFlow () { return sectionIndex == 0; }
method getInFlowIndex (line 104) | inline int getInFlowIndex () { assert (inFlow ()); return index; }
method isParentRefOOF (line 120) | inline bool isParentRefOOF (int parentRef)
method makeParentRefInFlow (line 123) | inline int makeParentRefInFlow (int inFlowSubRef)
method getParentRefInFlowSubRef (line 125) | inline int getParentRefInFlowSubRef (int parentRef)
method makeParentRefOOF (line 129) | inline int makeParentRefOOF (int oofmIndex, int oofmSubRef)
method getParentRefOOFSubRef (line 131) | inline int getParentRefOOFSubRef (int parentRef)
method getParentRefOOFIndex (line 134) | inline int getParentRefOOFIndex (int parentRef)
method isWidgetOOF (line 140) | inline bool isWidgetOOF (Widget *widget)
method getWidgetInFlowSubRef (line 143) | inline int getWidgetInFlowSubRef (Widget *widget)
method getWidgetOOFSubRef (line 146) | inline int getWidgetOOFSubRef (Widget *widget)
method getWidgetOOFIndex (line 148) | inline int getWidgetOOFIndex (Widget *widget)
method OutOfFlowMgr (line 157) | inline OutOfFlowMgr *searchOutOfFlowMgr (int oofmIndex)
method testStyleFloat (line 205) | static inline bool testStyleFloat (core::style::Style *style)
method testStyleAbsolutelyPositioned (line 208) | static inline bool testStyleAbsolutelyPositioned (core::style::Sty...
method testStyleFixedlyPositioned (line 210) | static inline bool testStyleFixedlyPositioned (core::style::Style ...
method testStyleRelativelyPositioned (line 212) | static inline bool testStyleRelativelyPositioned (core::style::Sty...
method testStylePositioned (line 215) | static inline bool testStylePositioned (core::style::Style *style)
method testStyleOutOfFlow (line 220) | static inline bool testStyleOutOfFlow (core::style::Style *style)
method testWidgetFloat (line 227) | static inline bool testWidgetFloat (Widget *widget)
method testWidgetAbsolutelyPositioned (line 230) | static inline bool testWidgetAbsolutelyPositioned (Widget *widget)
method testWidgetFixedlyPositioned (line 232) | static inline bool testWidgetFixedlyPositioned (Widget *widget)
method testWidgetRelativelyPositioned (line 234) | static inline bool testWidgetRelativelyPositioned (Widget *widget)
method testWidgetPositioned (line 237) | static inline bool testWidgetPositioned (Widget *widget)
method testWidgetOutOfFlow (line 240) | static inline bool testWidgetOutOfFlow (Widget *widget)
FILE: dw/oofawarewidget_iterator.cc
type dw (line 30) | namespace dw {
type oof (line 32) | namespace oof {
FILE: dw/ooffloatsmgr.cc
type dw (line 32) | namespace dw {
type oof (line 34) | namespace oof {
function Widget (line 720) | Widget *OOFFloatsMgr::getWidgetAtPoint (int x, int y,
function Widget (line 732) | Widget *OOFFloatsMgr::getFloatWidgetAtPoint (SortedFloatsVector *lis...
function Widget (line 1375) | Widget *OOFFloatsMgr::getWidget (int i)
FILE: dw/ooffloatsmgr.hh
type dw (line 6) | namespace dw {
type oof (line 8) | namespace oof {
class OOFFloatsMgr (line 17) | class OOFFloatsMgr: public OutOfFlowMgr
type Side (line 22) | enum Side { LEFT, RIGHT }
class WidgetInfo (line 29) | class WidgetInfo: public lout::object::Object
method OOFFloatsMgr (line 36) | OOFFloatsMgr *getOOFFloatsMgr () { return oofm; }
class Float (line 44) | class Float: public WidgetInfo
class ComparePosition (line 47) | class ComparePosition: public lout::object::Comparator
class CompareSideSpanningIndex (line 53) | class CompareSideSpanningIndex: public lout::object::Comparator
class CompareGBAndExtIndex (line 59) | class CompareGBAndExtIndex: public lout::object::Comparator
method CompareGBAndExtIndex (line 65) | CompareGBAndExtIndex (OOFFloatsMgr *oofm)
class SortedFloatsVector (line 98) | class SortedFloatsVector: private lout::container::typed::Vector<F...
method SortedFloatsVector (line 105) | inline SortedFloatsVector (OOFFloatsMgr *oofm, Side side,
method iterator (line 117) | inline lout::container::typed::Iterator<Float> iterator()
method size (line 119) | inline int size ()
method Float (line 121) | inline Float *get (int pos)
method clear (line 123) | inline void clear ()
class TBInfo (line 127) | class TBInfo: public WidgetInfo
class ComparePosition (line 130) | class ComparePosition: public lout::object::Comparator
method ComparePosition (line 136) | inline ComparePosition (int oofmIndex) { this->oofmIndex = oof...
method OOFAwareWidget (line 154) | inline OOFAwareWidget *getOOFAwareWidget ()
method isOOFAwareWidgetRegistered (line 199) | inline bool isOOFAwareWidgetRegistered (OOFAwareWidget *widget)
method createSubRefLeftFloat (line 213) | inline static int createSubRefLeftFloat (int index) { return index...
method createSubRefRightFloat (line 214) | inline static int createSubRefRightFloat (int index)
method isSubRefLeftFloat (line 217) | inline static bool isSubRefLeftFloat (int ref)
method isSubRefRightFloat (line 219) | inline static bool isSubRefRightFloat (int ref)
method getFloatIndexFromSubRef (line 222) | inline static int getFloatIndexFromSubRef (int ref)
FILE: dw/oofposabslikemgr.cc
type dw (line 25) | namespace dw {
type oof (line 27) | namespace oof {
FILE: dw/oofposabslikemgr.hh
type dw (line 6) | namespace dw {
type oof (line 8) | namespace oof {
class OOFPosAbsLikeMgr (line 10) | class OOFPosAbsLikeMgr: public OOFPositionedMgr
method containerBoxDiffWidth (line 18) | inline int containerBoxDiffWidth ()
method containerBoxDiffHeight (line 20) | inline int containerBoxDiffHeight ()
FILE: dw/oofposabsmgr.cc
type dw (line 22) | namespace dw {
type oof (line 24) | namespace oof {
FILE: dw/oofposabsmgr.hh
type dw (line 6) | namespace dw {
type oof (line 8) | namespace oof {
class OOFPosAbsMgr (line 10) | class OOFPosAbsMgr: public OOFPosAbsLikeMgr
FILE: dw/oofposfixedmgr.cc
type dw (line 22) | namespace dw {
type oof (line 24) | namespace oof {
FILE: dw/oofposfixedmgr.hh
type dw (line 6) | namespace dw {
type oof (line 8) | namespace oof {
class OOFPosFixedMgr (line 10) | class OOFPosFixedMgr: public OOFPosAbsLikeMgr
FILE: dw/oofpositionedmgr.cc
type dw (line 29) | namespace dw {
type oof (line 31) | namespace oof {
function Widget (line 240) | Widget *OOFPositionedMgr::getWidgetAtPoint (int x, int y,
function Widget (line 368) | Widget *OOFPositionedMgr::getWidget (int i)
FILE: dw/oofpositionedmgr.hh
type dw (line 7) | namespace dw {
type oof (line 9) | namespace oof {
class OOFPositionedMgr (line 11) | class OOFPositionedMgr: public OutOfFlowMgr
class Child (line 14) | class Child: public lout::object::Object
method getPosLeft (line 36) | inline bool getPosLeft (core::Widget *child, int availWidth, int *...
method getPosRight (line 38) | inline bool getPosRight (core::Widget *child, int availWidth, int ...
method getPosTop (line 40) | inline bool getPosTop (core::Widget *child, int availHeight, int *...
method getPosBottom (line 42) | inline bool getPosBottom (core::Widget *child, int availHeight, in...
method generatorPosDefined (line 56) | inline bool generatorPosDefined (Child *child) {
method generatorPosX (line 61) | inline int generatorPosX (Child *child) {
method generatorPosY (line 66) | inline int generatorPosY (Child *child) {
method posXDefined (line 72) | inline bool posXDefined (Child *child)
method posYDefined (line 75) | inline bool posYDefined (Child *child)
FILE: dw/oofposrelmgr.cc
type dw (line 26) | namespace dw {
type oof (line 28) | namespace oof {
FILE: dw/oofposrelmgr.hh
type dw (line 6) | namespace dw {
type oof (line 8) | namespace oof {
class OOFPosRelMgr (line 10) | class OOFPosRelMgr: public OOFPositionedMgr
method getChildPosX (line 23) | inline int getChildPosX (Child *child)
method getChildPosY (line 25) | inline int getChildPosY (Child *child)
FILE: dw/outofflowmgr.cc
type dw (line 26) | namespace dw {
type oof (line 28) | namespace oof {
FILE: dw/outofflowmgr.hh
type dw (line 6) | namespace dw {
type oof (line 11) | namespace oof {
class OOFAwareWidget (line 13) | class OOFAwareWidget
class OutOfFlowMgr (line 18) | class OutOfFlowMgr
FILE: dw/platform.hh
type dw (line 8) | namespace dw {
type core (line 9) | namespace core {
class Platform (line 16) | class Platform: public lout::object::Object
FILE: dw/regardingborder.cc
type dw (line 24) | namespace dw {
FILE: dw/regardingborder.hh
type dw (line 6) | namespace dw {
class RegardingBorder (line 13) | class RegardingBorder: public oof::OOFAwareWidget
FILE: dw/ruler.cc
type dw (line 27) | namespace dw {
FILE: dw/ruler.hh
type dw (line 6) | namespace dw {
class Ruler (line 20) | class Ruler: public RegardingBorder
FILE: dw/selection.cc
type dw (line 44) | namespace dw {
type core (line 45) | namespace core {
FILE: dw/selection.hh
type dw (line 8) | namespace dw {
type core (line 9) | namespace core {
class SelectionState (line 178) | class SelectionState
method highlight (line 212) | void highlight (bool fl, int dir)
type EventType (line 220) | enum EventType { BUTTON_PRESS, BUTTON_RELEASE, BUTTON_MOTION }
method setLayout (line 225) | inline void setLayout (Layout *layout) { this->layout = layout; }
FILE: dw/simpletablecell.cc
type dw (line 28) | namespace dw {
FILE: dw/simpletablecell.hh
type dw (line 6) | namespace dw {
class SimpleTableCell (line 8) | class SimpleTableCell: public Textblock
FILE: dw/stackingcontextmgr.cc
type dw (line 27) | namespace dw {
type core (line 29) | namespace core {
function Widget (line 156) | Widget *StackingContextMgr::getWidgetAtPoint (int x, int y,
FILE: dw/stackingcontextmgr.hh
type dw (line 12) | namespace dw {
type core (line 14) | namespace core {
class StackingContextMgr (line 19) | class StackingContextMgr
method isEstablishingStackingContext (line 37) | inline static bool isEstablishingStackingContext (Widget *widget) {
method handledByStackingContextMgr (line 43) | inline static bool handledByStackingContextMgr (Widget *widget) {
method getNumZIndices (line 53) | inline int getNumZIndices () { return numZIndices; }
method getNumChildSCWidgets (line 54) | inline int getNumChildSCWidgets () { return childSCWidgets->size (...
method drawBottom (line 56) | inline void drawBottom (View *view, Rectangle *area, DrawingContex...
method drawTop (line 58) | void drawTop (View *view, Rectangle *area, DrawingContext *context)
method Widget (line 61) | inline Widget *getTopWidgetAtPoint (int x, int y,
method Widget (line 66) | inline Widget *getBottomWidgetAtPoint (int x, int y,
FILE: dw/style.cc
type dw (line 31) | namespace dw {
type core (line 32) | namespace core {
type style (line 33) | namespace style {
function Font (line 437) | Font *Font::create0 (Layout *layout, FontAttrs *attrs,
function Font (line 443) | Font *Font::create (Layout *layout, FontAttrs *attrs)
function Color (line 528) | Color *Color::create (Layout *layout, int col)
function Tooltip (line 535) | Tooltip *Tooltip::create (Layout *layout, const char *text)
function StyleImage (line 717) | StyleImage *StyleImage::ExternalWidgetImgRenderer::getBackgroundIm...
function BackgroundRepeat (line 723) | BackgroundRepeat StyleImage::ExternalWidgetImgRenderer::getBackgro...
function BackgroundAttachment (line 729) | BackgroundAttachment
function Length (line 736) | Length StyleImage::ExternalWidgetImgRenderer::getBackgroundPositio...
function Length (line 742) | Length StyleImage::ExternalWidgetImgRenderer::getBackgroundPositio...
function drawBorderTop (line 757) | static void drawBorderTop(View *view, Style *style,
function drawBorderBottom (line 854) | static void drawBorderBottom(View *view, Style *style,
function drawBorderLeft (line 953) | static void drawBorderLeft(View *view, Style *style,
function drawBorderRight (line 1050) | static void drawBorderRight(View *view, Style *style,
function drawBorder (line 1155) | void drawBorder (View *view, Layout *layout, Rectangle *area,
function drawBackground (line 1220) | void drawBackground (View *view, Layout *layout, Rectangle *area,
function drawBackgroundImage (line 1273) | void drawBackgroundImage (View *view, StyleImage *backgroundImage,
function calcBackgroundRelatedValues (line 1327) | void calcBackgroundRelatedValues (StyleImage *backgroundImage,
function strAsciiTolower (line 1398) | static void strAsciiTolower (char *s)
function numtostr (line 1409) | void numtostr (int num, char *buf, int buflen, ListStyleType listS...
FILE: dw/style.hh
type dw (line 15) | namespace dw {
type core (line 16) | namespace core {
type style (line 198) | namespace style {
type Cursor (line 200) | enum Cursor {
type BorderCollapse (line 218) | enum BorderCollapse {
type BorderStyle (line 223) | enum BorderStyle {
type BackgroundRepeat (line 236) | enum BackgroundRepeat {
type BackgroundAttachment (line 243) | enum BackgroundAttachment {
type TextAlignType (line 248) | enum TextAlignType {
type VAlignType (line 256) | enum VAlignType {
type TextTransform (line 267) | enum TextTransform {
type DisplayType (line 277) | enum DisplayType {
type LineType (line 291) | enum LineType {
type ListStylePosition (line 297) | enum ListStylePosition {
type ListStyleType (line 302) | enum ListStyleType {
type FontStyle (line 326) | enum FontStyle {
type FontVariant (line 332) | enum FontVariant {
type Overflow (line 337) | enum Overflow {
type Position (line 344) | enum Position {
type TextDecoration (line 351) | enum TextDecoration {
type WhiteSpace (line 359) | enum WhiteSpace {
type FloatType (line 367) | enum FloatType {
type ClearType (line 373) | enum ClearType {
function Length (line 432) | inline Length createAbsLength(int n) { return (n << 2) | 1; }
function Length (line 435) | inline Length createPerLength(double v) {
function Length (line 439) | inline Length createRelLength(double v) {
function isAbsLength (line 443) | inline bool isAbsLength(Length l) { return (l & 3) == 1; }
function isPerLength (line 446) | inline bool isPerLength(Length l) { return (l & 3) == 2; }
function isRelLength (line 449) | inline bool isRelLength(Length l) { return (l & 3) == 3; }
function absLengthVal (line 452) | inline int absLengthVal(Length l) { return l >> 2; }
function perLengthVal_useThisOnlyForDebugging (line 459) | inline double perLengthVal_useThisOnlyForDebugging(Length l)
function relLengthVal (line 467) | inline double relLengthVal(Length l) { return (double)(l & ~3) / (...
function multiplyWithPerLength (line 474) | inline int multiplyWithPerLength(int x, Length l) {
function multiplyWithPerLengthRounded (line 484) | inline int multiplyWithPerLengthRounded(int x, Length l) {
function multiplyWithRelLength (line 488) | inline int multiplyWithRelLength(int x, Length l) {
class Box (line 504) | class Box
method setVal (line 510) | inline void setVal(int val) { top = right = bottom = left = val; }
method equals (line 511) | inline bool equals (Box *other) {
method hashValue (line 517) | inline int hashValue () {
class Tooltip (line 522) | class Tooltip
method Tooltip (line 664) | Tooltip (const char *text): TooltipAttrs(text) { refCount = 0; }
method ref (line 668) | inline void ref () { refCount++; }
method unref (line 669) | inline void unref ()
method onEnter (line 672) | inline virtual void onEnter () { }
method onLeave (line 673) | inline virtual void onLeave () { }
method onMotion (line 674) | inline virtual void onMotion () { }
class Font (line 523) | class Font
method Font (line 707) | inline Font () {
method ref (line 723) | inline void ref () { refCount++; }
method unref (line 724) | inline void unref () { if (--refCount == 0) delete this; }
class Color (line 524) | class Color
method Color (line 761) | inline Color (int color): ColorAttrs (color) {
type Shading (line 768) | enum Shading { SHADING_NORMAL, SHADING_INVERSE, SHADING_DARK, SH...
method ref (line 777) | inline void ref () { refCount++; }
method unref (line 778) | inline void unref ()
class StyleImage (line 525) | class StyleImage
class StyleImgRenderer (line 786) | class StyleImgRenderer: public ImgRenderer
method StyleImgRenderer (line 792) | inline StyleImgRenderer (StyleImage *image) { this->image = im...
class ExternalImgRenderer (line 813) | class ExternalImgRenderer: public ImgRenderer
class ExternalWidgetImgRenderer (line 855) | class ExternalWidgetImgRenderer: public ExternalImgRenderer
method StyleImage (line 872) | static StyleImage *create () { return new StyleImage (); }
method ref (line 874) | inline void ref () { refCount++; }
method unref (line 875) | inline void unref ()
method Imgbuf (line 878) | inline Imgbuf *getImgbufSrc () { return imgbufSrc; }
method Imgbuf (line 879) | inline Imgbuf *getImgbufTiled (bool repeatX, bool repeatY)
method getTilesX (line 881) | inline int getTilesX (bool repeatX, bool repeatY)
method getTilesY (line 883) | inline int getTilesY (bool repeatX, bool repeatY)
method ImgRenderer (line 885) | inline ImgRenderer *getMainImgRenderer () { return imgRendererDi...
method putExternalImgRenderer (line 891) | inline void putExternalImgRenderer (ImgRenderer *ir)
method removeExternalImgRenderer (line 897) | inline void removeExternalImgRenderer (ImgRenderer *ir)
class StyleAttrs (line 530) | class StyleAttrs : public lout::object::Object
method setBorderColor (line 585) | inline void setBorderColor(Color *val) {
method setBorderStyle (line 588) | inline void setBorderStyle(BorderStyle val) {
method boxOffsetX (line 592) | inline int boxOffsetX ()
method boxRestWidth (line 594) | inline int boxRestWidth ()
method boxDiffWidth (line 596) | inline int boxDiffWidth () { return boxOffsetX () + boxRestWidth...
method boxOffsetY (line 597) | inline int boxOffsetY ()
method boxRestHeight (line 599) | inline int boxRestHeight ()
method boxDiffHeight (line 601) | inline int boxDiffHeight () { return boxOffsetY () + boxRestHeig...
method hasBackground (line 603) | inline bool hasBackground ()
class Style (line 614) | class Style: public StyleAttrs
method Style (line 629) | inline static Style *create (StyleAttrs *attrs)
method ref (line 641) | inline void ref () { refCount++; }
method unref (line 642) | inline void unref () { if (--refCount == 0) delete this; }
class TooltipAttrs (line 649) | class TooltipAttrs: public lout::object::String
method TooltipAttrs (line 652) | TooltipAttrs(const char *text): lout::object::String(text) { }
class Tooltip (line 658) | class Tooltip: public TooltipAttrs
method Tooltip (line 664) | Tooltip (const char *text): TooltipAttrs(text) { refCount = 0; }
method ref (line 668) | inline void ref () { refCount++; }
method unref (line 669) | inline void unref ()
method onEnter (line 672) | inline virtual void onEnter () { }
method onLeave (line 673) | inline virtual void onLeave () { }
method onMotion (line 674) | inline virtual void onMotion () { }
class FontAttrs (line 681) | class FontAttrs: public lout::object::Object
class Font (line 699) | class Font: public FontAttrs
method Font (line 707) | inline Font () {
method ref (line 723) | inline void ref () { refCount++; }
method unref (line 724) | inline void unref () { if (--refCount == 0) delete this; }
class ColorAttrs (line 731) | class ColorAttrs: public lout::object::Object
method ColorAttrs (line 737) | inline ColorAttrs(int color)
method getColor (line 742) | inline int getColor () { return color; }
class Color (line 752) | class Color: public ColorAttrs
method Color (line 761) | inline Color (int color): ColorAttrs (color) {
type Shading (line 768) | enum Shading { SHADING_NORMAL, SHADING_INVERSE, SHADING_DARK, SH...
method ref (line 777) | inline void ref () { refCount++; }
method unref (line 778) | inline void unref ()
class StyleImage (line 783) | class StyleImage: public lout::signal::ObservedObject
class StyleImgRenderer (line 786) | class StyleImgRenderer: public ImgRenderer
method StyleImgRenderer (line 792) | inline StyleImgRenderer (StyleImage *image) { this->image = im...
class ExternalImgRenderer (line 813) | class ExternalImgRenderer: public ImgRenderer
class ExternalWidgetImgRenderer (line 855) | class ExternalWidgetImgRenderer: public ExternalImgRenderer
method StyleImage (line 872) | static StyleImage *create () { return new StyleImage (); }
method ref (line 874) | inline void ref () { refCount++; }
method unref (line 875) | inline void unref ()
method Imgbuf (line 878) | inline Imgbuf *getImgbufSrc () { return imgbufSrc; }
method Imgbuf (line 879) | inline Imgbuf *getImgbufTiled (bool repeatX, bool repeatY)
method getTilesX (line 881) | inline int getTilesX (bool repeatX, bool repeatY)
method getTilesY (line 883) | inline int getTilesY (bool repeatX, bool repeatY)
method ImgRenderer (line 885) | inline ImgRenderer *getMainImgRenderer () { return imgRendererDi...
method putExternalImgRenderer (line 891) | inline void putExternalImgRenderer (ImgRenderer *ir)
method removeExternalImgRenderer (line 897) | inline void removeExternalImgRenderer (ImgRenderer *ir)
FILE: dw/table.cc
type dw (line 29) | namespace dw {
function AlignedTableCell (line 602) | AlignedTableCell *Table::getCellRef ()
FILE: dw/table.hh
type dw (line 8) | namespace dw {
class Table (line 325) | class Table: public oof::OOFAwareWidget
type Child (line 328) | struct Child
class TableIterator (line 345) | class TableIterator: public OOFAwareWidgetIterator
type ExtrMod (line 420) | enum ExtrMod { MIN, MIN_INTR, MIN_MIN, MAX_MIN, MAX, MAX_INTR, DATA }
method childDefined (line 428) | inline bool childDefined(int n)
method setCumHeight (line 455) | void setCumHeight (int row, int value)
method getAdjustMinWidth (line 469) | bool getAdjustMinWidth () { return Table::adjustTableMinWidth; }
method setAdjustTableMinWidth (line 494) | inline static void setAdjustTableMinWidth (bool adjustTableMinWidth)
method getAdjustTableMinWidth (line 497) | inline static bool getAdjustTableMinWidth ()
FILE: dw/table_iterator.cc
type dw (line 27) | namespace dw {
FILE: dw/tablecell.cc
type dw (line 25) | namespace dw {
type tablecell (line 35) | namespace tablecell {
function getAdjustMinWidth (line 37) | bool getAdjustMinWidth ()
function isBlockLevel (line 42) | bool isBlockLevel ()
function correctAvailWidthOfChild (line 47) | int correctAvailWidthOfChild (core::Widget *widget, core::Widget *ch...
function correctAvailHeightOfChild (line 72) | int correctAvailHeightOfChild (core::Widget *widget, core::Widget *c...
function correctCorrectedRequisitionOfChild (line 79) | void correctCorrectedRequisitionOfChild (core::Widget *widget,
function correctCorrectedExtremesOfChild (line 108) | void correctCorrectedExtremesOfChild (core::Widget *widget, core::Wi...
function applyPerWidth (line 115) | int applyPerWidth (core::Widget *widget, int containerWidth,
function applyPerHeight (line 121) | int applyPerHeight (core::Widget *widget, int containerHeight,
FILE: dw/tablecell.hh
type dw (line 6) | namespace dw {
type tablecell (line 8) | namespace tablecell {
function usesMaxGeneratorWidth (line 10) | inline bool usesMaxGeneratorWidth () { return true; }
function adjustExtraSpaceWhenCorrectingRequisitionByOOF (line 36) | inline bool adjustExtraSpaceWhenCorrectingRequisitionByOOF () { retu...
FILE: dw/textblock.cc
type dw (line 43) | namespace dw {
function RegardingBorder (line 3252) | RegardingBorder *Textblock::getWidgetRegardingBorderForLine (Line *line)
function RegardingBorder (line 3257) | RegardingBorder *Textblock::getWidgetRegardingBorderForLine (int lineNo)
function RegardingBorder (line 3266) | RegardingBorder *Textblock::getWidgetRegardingBorderForLine (int first...
FILE: dw/textblock.hh
type dw (line 18) | namespace dw {
class Textblock (line 205) | class Textblock: public RegardingBorder
class BadnessAndPenalty (line 222) | class BadnessAndPenalty
method setPenalty (line 267) | inline void setPenalty (int penalty) { setPenalties (penalty, pena...
method getPenalty (line 271) | inline int getPenalty (int i) { return penalty[i]; }
class WordImgRenderer (line 304) | class WordImgRenderer:
class SpaceImgRenderer (line 325) | class SpaceImgRenderer: public WordImgRenderer
method SpaceImgRenderer (line 328) | inline SpaceImgRenderer (Textblock *textblock, int wordNo) :
type Paragraph (line 335) | struct Paragraph
type Line (line 369) | struct Line
method totalHeight (line 402) | inline int totalHeight (int marginNextLine)
type Word (line 428) | struct Word
type Anchor (line 503) | struct Anchor
class TextblockIterator (line 509) | class TextblockIterator: public OOFAwareWidgetIterator
method isBreakAllowedInWord (line 678) | bool isBreakAllowedInWord (Word *word)
method findSizeRequestReference (line 689) | bool findSizeRequestReference (int oofmIndex, int *xRef = NULL,
method mustBorderBeRegarded (line 697) | inline bool mustBorderBeRegarded (Line *line)
method mustBorderBeRegarded (line 702) | inline bool mustBorderBeRegarded (int lineNo)
method lineYOffsetWidget (line 713) | inline int lineYOffsetWidget (Line *line, core::Allocation *allocation)
method lineYOffsetWidget (line 718) | inline int lineYOffsetWidget (Line *line)
method lineYOffsetCanvas (line 723) | inline int lineYOffsetCanvas (Line *line, core::Allocation *allocation)
method lineYOffsetCanvas (line 728) | inline int lineYOffsetCanvas (Line *line)
method lineYOffsetWidget (line 733) | inline int lineYOffsetWidget (int lineIndex)
method lineYOffsetWidget (line 738) | inline int lineYOffsetWidget (int lineIndex, core::Allocation *alloc...
method lineYOffsetCanvas (line 743) | inline int lineYOffsetCanvas (int lineIndex)
method calcPenaltyIndexForNewLine (line 748) | inline int calcPenaltyIndexForNewLine ()
type Word (line 801) | struct Word
type Word (line 802) | struct Word
method mustAddBreaks (line 877) | static inline bool mustAddBreaks (core::style::Style *style)
method addText (line 889) | inline void addText (const char *text, core::style::Style *style)
FILE: dw/textblock_iterator.cc
type dw (line 31) | namespace dw {
FILE: dw/textblock_linebreaking.cc
type dw (line 35) | namespace dw {
type Word (line 2242) | struct Word
type Word (line 2250) | struct Word
FILE: dw/tools.cc
type dw (line 3) | namespace dw {
type core (line 4) | namespace core {
function SizeParams (line 37) | SizeParams &SizeParams::operator=(const SizeParams &other)
FILE: dw/tools.hh
type dw (line 11) | namespace dw {
type core (line 12) | namespace core {
class SizeParams (line 18) | class SizeParams
method debugPrint (line 28) | inline void debugPrint () {
function getNumPos (line 54) | inline int getNumPos () { return numPos; }
function Widget (line 55) | inline Widget **getReferences () { return references; }
function Widget (line 58) | inline Widget *getReference (int i) { return references[i]; }
function getX (line 59) | inline int getX (int i) { return x[i]; }
function getY (line 60) | inline int getY (int i) { return y[i]; }
FILE: dw/types.cc
type dw (line 27) | namespace dw {
type core (line 28) | namespace core {
type Point (line 144) | struct Point
FILE: dw/types.hh
type dw (line 8) | namespace dw {
type core (line 9) | namespace core {
type style (line 11) | namespace style {
class Style (line 12) | class Style
type HPosition (line 15) | enum HPosition
type VPosition (line 25) | enum VPosition
type ScrollCommand (line 35) | enum ScrollCommand {SCREEN_UP_CMD, SCREEN_DOWN_CMD, SCREEN_LEFT_CMD,
type HighlightLayer (line 42) | enum HighlightLayer
type Point (line 49) | struct Point
class Shape (line 58) | class Shape: public lout::object::Object
class Rectangle (line 69) | class Rectangle: public Shape
method Rectangle (line 77) | inline Rectangle () { }
method isEmpty (line 84) | bool isEmpty () { return width <= 0 || height <= 0; }
class Circle (line 90) | class Circle: public Shape
class Polygon (line 104) | class Polygon: public Shape
method zOfVectorProduct (line 115) | inline int zOfVectorProduct(int x1, int y1, int x2, int y2) {
class Region (line 140) | class Region
method clear (line 149) | void clear () { rectangleList->clear (); }
method rectangles (line 153) | lout::container::typed::Iterator <Rectangle> rectangles ()
type Allocation (line 163) | struct Allocation
type Requisition (line 172) | struct Requisition
type Extremes (line 179) | struct Extremes
class WidgetReference (line 188) | class WidgetReference: public lout::object::Object
method WidgetReference (line 194) | WidgetReference (Widget *widget) { parentRef = -1; this->widget = ...
type Content (line 197) | struct Content
type Type (line 199) | enum Type {
method Widget (line 249) | inline Widget *getWidget () {
class StackingProcessingContext (line 261) | class StackingProcessingContext
method StackingProcessingContext (line 268) | inline StackingProcessingContext () {
method hasWidgetBeenProcessedAsInterruption (line 277) | inline bool hasWidgetBeenProcessedAsInterruption (Widget *widget) {
method addWidgetProcessedAsInterruption (line 282) | inline void addWidgetProcessedAsInterruption (Widget *widget) {
class DrawingContext (line 294) | class DrawingContext: public StackingProcessingContext
method DrawingContext (line 300) | inline DrawingContext (Rectangle *toplevelArea) {
method Rectangle (line 304) | inline Rectangle *getToplevelArea () { return &toplevelArea; }
class GettingWidgetAtPointContext (line 312) | class GettingWidgetAtPointContext: public StackingProcessingContext
FILE: dw/ui.cc
type dw (line 27) | namespace dw {
type core (line 28) | namespace core {
type ui (line 29) | namespace ui {
function Iterator (line 146) | Iterator *Embed::iterator (Content::Type mask, bool atEnd)
function Iterator (line 316) | Iterator *LabelButtonResource::iterator (Content::Type mask, bool ...
function Iterator (line 483) | Iterator *ComplexButtonResource::iterator (Content::Type mask, boo...
function Iterator (line 494) | Iterator *TextResource::iterator (Content::Type mask, bool atEnd)
function Iterator (line 503) | Iterator *CheckButtonResource::iterator (Content::Type mask, bool ...
function Iterator (line 517) | Iterator *RadioButtonResource::iterator (Content::Type mask, bool ...
FILE: dw/ui.hh
type dw (line 8) | namespace dw {
type core (line 9) | namespace core {
type ui (line 214) | namespace ui {
class Resource (line 216) | class Resource
class ActivateReceiver (line 296) | class ActivateReceiver: public lout::signal::Receiver
class ClickedReceiver (line 306) | class ClickedReceiver: public lout::signal::Receiver
class ActivateEmitter (line 313) | class ActivateEmitter: public lout::signal::Emitter
method connectActivate (line 319) | inline void connectActivate (ActivateReceiver *receiver) {
class ClickedEmitter (line 326) | class ClickedEmitter: public lout::signal::Emitter
method connectClicked (line 332) | inline void connectClicked (ClickedReceiver *receiver) {
method queueResize (line 344) | inline void queueResize (bool extremesChanged) {
method Embed (line 348) | virtual Embed *getEmbed () { return embed; }
method emitActivate (line 351) | inline void emitActivate () {
method emitClicked (line 353) | inline void emitClicked (EventButton *event) {
method Resource (line 357) | inline Resource ()
method connectActivate (line 386) | inline void connectActivate (ActivateReceiver *receiver) {
method connectClicked (line 388) | inline void connectClicked (ClickedReceiver *receiver) {
class Embed (line 223) | class Embed: public Widget
method Resource (line 263) | inline Resource *getResource () { return resource; }
method correctReqWidthOfChildNoRec (line 265) | inline void correctReqWidthOfChildNoRec (Widget *child,
method correctReqHeightOfChildNoRec (line 270) | inline void correctReqHeightOfChildNoRec (Widget *child,
method correctExtremesOfChildNoRec (line 278) | virtual void correctExtremesOfChildNoRec (Widget *child, Extreme...
class Resource (line 288) | class Resource
class ActivateReceiver (line 296) | class ActivateReceiver: public lout::signal::Receiver
class ClickedReceiver (line 306) | class ClickedReceiver: public lout::signal::Receiver
class ActivateEmitter (line 313) | class ActivateEmitter: public lout::signal::Emitter
method connectActivate (line 319) | inline void connectActivate (ActivateReceiver *receiver) {
class ClickedEmitter (line 326) | class ClickedEmitter: public lout::signal::Emitter
method connectClicked (line 332) | inline void connectClicked (ClickedReceiver *receiver) {
method queueResize (line 344) | inline void queueResize (bool extremesChanged) {
method Embed (line 348) | virtual Embed *getEmbed () { return embed; }
method emitActivate (line 351) | inline void emitActivate () {
method emitClicked (line 353) | inline void emitClicked (EventButton *event) {
method Resource (line 357) | inline Resource ()
method connectActivate (line 386) | inline void connectActivate (ActivateReceiver *receiver) {
method connectClicked (line 388) | inline void connectClicked (ClickedReceiver *receiver) {
class ButtonResource (line 393) | class ButtonResource: public Resource
class LabelButtonResource (line 399) | class LabelButtonResource: public ButtonResource
class ComplexButtonResource (line 408) | class ComplexButtonResource: public ButtonResource
class LayoutReceiver (line 411) | class LayoutReceiver: public Layout::Receiver
method getClickX (line 458) | int getClickX () {return click_x;}
method getClickY (line 459) | int getClickY () {return click_y;}
class SelectionResource (line 466) | class SelectionResource: public Resource
class ListResource (line 478) | class ListResource: public SelectionResource
type SelectionMode (line 481) | enum SelectionMode {
class OptionMenuResource (line 512) | class OptionMenuResource: public SelectionResource
class TextResource (line 516) | class TextResource: public Resource
class EntryResource (line 527) | class EntryResource: public TextResource
class MultiLineTextResource (line 534) | class MultiLineTextResource: public TextResource
class ToggleButtonResource (line 539) | class ToggleButtonResource: public Resource
class CheckButtonResource (line 546) | class CheckButtonResource: public ToggleButtonResource
class RadioButtonResource (line 552) | class RadioButtonResource: public ToggleButtonResource
class GroupIterator (line 555) | class GroupIterator
method GroupIterator (line 558) | GroupIterator () { }
class ResourceFactory (line 580) | class ResourceFactory: public lout::object::Object
FILE: dw/view.hh
type dw (line 8) | namespace dw {
type core (line 9) | namespace core {
class View (line 16) | class View: public lout::object::Object
FILE: dw/widget.cc
type dw (line 29) | namespace dw {
type core (line 30) | namespace core {
function Widget (line 210) | Widget *Widget::getWidgetAtPoint (int x, int y,
function Widget (line 221) | Widget *Widget::getWidgetAtPointInterrupted (int x, int y,
function Widget (line 1083) | Widget *Widget::sizeRequestReference (int index)
function Widget (line 1094) | Widget *Widget::getExtremesReference (int index)
function Widget (line 1456) | Widget *Widget::getTopLevel ()
function Widget (line 1507) | Widget *Widget::getNearestCommonAncestor (Widget *otherWidget)
function splitHeightPreserveAscent (line 1961) | void splitHeightPreserveAscent (int height, int *ascent, int *descent)
function splitHeightPreserveDescent (line 1975) | void splitHeightPreserveDescent (int height, int *ascent, int *descent)
FILE: dw/widget.hh
type dw (line 15) | namespace dw {
type core (line 16) | namespace core {
class Widget (line 23) | class Widget: public lout::identity::IdentifiableObject
type Flags (line 28) | enum Flags {
class WidgetImgRenderer (line 84) | class WidgetImgRenderer: public style::StyleImage::ExternalWidgetI...
method WidgetImgRenderer (line 90) | inline WidgetImgRenderer (Widget *widget) { this->widget = widge...
method queueResizeFast (line 165) | inline void queueResizeFast (int ref, bool extremesChanged)
method getHeight (line 185) | inline int getHeight () { return allocation.ascent + allocation.de...
method getContentWidth (line 186) | inline int getContentWidth() { return allocation.width - boxDiffWi...
method getContentHeight (line 187) | inline int getContentHeight() { return getHeight () - boxDiffHeigh...
method StackingContextMgr (line 213) | inline StackingContextMgr *getNextStackingContextMgr ()
method printFlag (line 231) | inline void printFlag (Flags f) {
function setFlags (line 272) | inline void setFlags (Flags f)
function unsetFlags (line 274) | inline void unsetFlags (Flags f)
function queueDraw (line 277) | inline void queueDraw ()
function queueResize (line 280) | inline void queueResize (int ref, bool extremesChanged)
function resizeDrawImpl (line 319) | virtual void resizeDrawImpl () { queueDraw (); }
function changeAnchor (line 369) | inline void changeAnchor (char* name, int y)
function removeAnchor (line 372) | inline void removeAnchor (char* name)
function setCursor (line 377) | inline void setCursor (style::Cursor cursor)
function selectionButtonPress (line 380) | inline bool selectionButtonPress (Iterator *it, int charPos, int linkNo,
function selectionButtonRelease (line 384) | inline bool selectionButtonRelease (Iterator *it, int charPos, int lin...
function selectionButtonMotion (line 388) | inline bool selectionButtonMotion (Iterator *it, int charPos, int linkNo,
function selectionHandleEvent (line 392) | inline bool selectionHandleEvent (SelectionState::EventType eventType,
function enterQueueResize (line 409) | void enterQueueResize () { if (layout) layout->queueResizeCounter++; }
function leaveQueueResize (line 410) | void leaveQueueResize () { if (layout) layout->queueResizeCounter--; }
function queueResizeEntered (line 411) | bool queueResizeEntered () { return layout && layout->queueResizeCounter; }
function enterSizeAllocate (line 413) | void enterSizeAllocate () { if (layout) layout->sizeAllocateCounter++; }
function leaveSizeAllocate (line 414) | void leaveSizeAllocate () { if (layout) layout->sizeAllocateCounter--; }
function sizeAllocateEntered (line 415) | bool sizeAllocateEntered () { return layout && layout->sizeAllocateCount...
function enterSizeRequest (line 417) | void enterSizeRequest () { if (layout) layout->sizeRequestCounter++; }
function leaveSizeRequest (line 418) | void leaveSizeRequest () { if (layout) layout->sizeRequestCounter--; }
function sizeRequestEntered (line 419) | bool sizeRequestEntered () { return layout && layout->sizeRequestCounter; }
function enterGetExtremes (line 421) | void enterGetExtremes () { if (layout) layout->getExtremesCounter++; }
function leaveGetExtremes (line 422) | void leaveGetExtremes () { if (layout) layout->getExtremesCounter--; }
function getExtremesEntered (line 423) | bool getExtremesEntered () { return layout && layout->getExtremesCounter; }
function setAdjustMinWidth (line 429) | inline static void setAdjustMinWidth (bool adjustMinWidth)
function resizeQueued (line 435) | inline bool resizeQueued () { return flags & RESIZE_QUEUED; }
function extremesQueued (line 436) | inline bool extremesQueued () { return flags & EXTREMES_QUEUED; }
function needsResize (line 437) | inline bool needsResize () { return flags & NEEDS_RESIZE; }
function needsAllocate (line 438) | inline bool needsAllocate () { return flags & NEEDS_ALLOCATE; }
function allocateQueued (line 439) | inline bool allocateQueued () { return flags & ALLOCATE_QUEUED; }
function extremesChanged (line 440) | inline bool extremesChanged () { return flags & EXTREMES_CHANGED; }
function wasAllocated (line 441) | inline bool wasAllocated () { return flags & WAS_ALLOCATED; }
function setGenerator (line 446) | void setGenerator (Widget *generator) { this->generator = generator; }
function Allocation (line 450) | inline Allocation *getAllocation () { return &allocation; }
function inAllocation (line 451) | inline bool inAllocation (int x, int y) {
function boxOffsetX (line 457) | inline int boxOffsetX ()
function boxRestWidth (line 459) | inline int boxRestWidth ()
function boxDiffWidth (line 461) | inline int boxDiffWidth () { return boxOffsetX () + boxRestWidth (); }
function boxOffsetY (line 462) | inline int boxOffsetY ()
function boxRestHeight (line 464) | inline int boxRestHeight ()
function boxDiffHeight (line 466) | inline int boxDiffHeight () { return boxOffsetY () + boxRestHeight (); }
function getAdjustMinWidth (line 498) | virtual bool getAdjustMinWidth () { return Widget::adjustMinWidth; }
function isButtonSensitive (line 550) | inline bool isButtonSensitive () { return buttonSensitive; }
function Widget (line 552) | inline Widget *getParent () { return parent; }
function Widget (line 553) | inline Widget *getContainer () { return container; }
function WidgetReference (line 559) | inline WidgetReference *getWidgetReference () { return widgetReference; }
function setWidgetReference (line 560) | inline void setWidgetReference (WidgetReference *widgetReference) {
function Widget (line 565) | inline Widget *getGenerator () { return generator ? generator : parent; }
function Layout (line 567) | inline Layout *getLayout () { return layout; }
FILE: lout/container.cc
type lout (line 27) | namespace lout {
type container (line 31) | namespace container {
type untyped (line 33) | namespace untyped {
function Iterator (line 58) | Iterator &Iterator::operator=(const Iterator &it2)
function Iterator (line 68) | Iterator &Iterator::operator=(Iterator &it2)
function Object (line 276) | Object *Vector::VectorIterator::getNext()
function Object (line 418) | Object *List::ListIterator::getNext()
function Object (line 611) | Object *HashSet::HashSetIterator::getNext()
function Object (line 708) | Object *HashTable::get(Object *key) const
function Object (line 782) | Object *Stack::StackIterator::getNext()
FILE: lout/container.hh
type lout (line 6) | namespace lout {
type container (line 20) | namespace container {
type untyped (line 29) | namespace untyped {
class Collection0 (line 34) | class Collection0: public object::Object
class AbstractIterator (line 43) | class AbstractIterator: public object::Object
method AbstractIterator (line 49) | AbstractIterator() { refcount = 1; }
method ref (line 51) | void ref () { refcount++; }
method unref (line 52) | void unref () { refcount--; if (refcount == 0) delete this; }
class Iterator (line 66) | class Iterator
method Iterator (line 74) | inline Iterator(Collection0::AbstractIterator *impl) { this->imp...
method hasNext (line 84) | inline bool hasNext() { return impl->hasNext(); }
class Collection (line 91) | class Collection: public Collection0
method Iterator (line 95) | inline Iterator iterator() { Iterator it(createIterator()); retu...
class Vector (line 104) | class Vector: public Collection
class VectorIterator (line 113) | class VectorIterator: public AbstractIterator
method VectorIterator (line 120) | VectorIterator(Vector *vector) { this->vector = vector; index ...
method insertSorted (line 143) | inline int insertSorted(object::Object *newElement,
method bsearch (line 156) | inline int bsearch(Object *key, bool mustExist,
class List (line 166) | class List: public Collection
type Node (line 171) | struct Node
class ListIterator (line 178) | class ListIterator: public AbstractIterator
method ListIterator (line 183) | ListIterator(List::Node *node) { current = node; }
method removeRef (line 209) | inline bool removeRef(object::Object *element)
method remove (line 211) | inline bool remove(object::Object *element)
method detachRef (line 213) | inline bool detachRef(object::Object *element)
method size (line 215) | inline int size() const { return numElements; }
method isEmpty (line 216) | inline bool isEmpty() const { return numElements == 0; }
class HashSet (line 225) | class HashSet: public Collection
type Node (line 230) | struct Node
method calcHashValue (line 240) | inline int calcHashValue(object::Object *object) const
class HashSetIterator (line 254) | class HashSetIterator: public Collection0::AbstractIterator
class HashTable (line 284) | class HashTable: public HashSet
type KeyValuePair (line 289) | struct KeyValuePair: public Node
class Stack (line 315) | class Stack: public Collection
class Node (line 320) | class Node
class StackIterator (line 327) | class StackIterator: public AbstractIterator
method StackIterator (line 332) | StackIterator(Stack::Node *node) { current = node; }
method size (line 354) | inline int size() const { return numElements; }
type typed (line 366) | namespace typed {
class Collection (line 368) | class Collection
method Collection (line 406) | Collection () { this->base = NULL; }
method equals (line 409) | bool equals(Object *other)
method hashValue (line 412) | int hashValue() { return this->base->hashValue (); }
method intoStringBuffer (line 414) | void intoStringBuffer(misc::StringBuffer *sb)
method iterator (line 416) | inline Iterator<T> iterator() {
method size (line 418) | inline int size() { return this->base->size (); }
class Iterator (line 373) | class Iterator
method Iterator (line 381) | inline Iterator() { }
method Iterator (line 382) | inline Iterator(const Iterator<T> &it2) { this->base = it2.base; }
method Iterator (line 383) | inline Iterator(Iterator<T> &it2) { this->base = it2.base; }
method Iterator (line 385) | inline Iterator &operator=(const Iterator<T> &it2)
method Iterator (line 387) | inline Iterator &operator=(Iterator<T> &it2)
method hasNext (line 390) | inline bool hasNext() { return this->base.hasNext(); }
method T (line 391) | inline T *getNext() { return (T*)this->base.getNext(); }
class Collection (line 400) | class Collection: public object::Object
method Collection (line 406) | Collection () { this->base = NULL; }
method equals (line 409) | bool equals(Object *other)
method hashValue (line 412) | int hashValue() { return this->base->hashValue (); }
method intoStringBuffer (line 414) | void intoStringBuffer(misc::StringBuffer *sb)
method iterator (line 416) | inline Iterator<T> iterator() {
method size (line 418) | inline int size() { return this->base->size (); }
class Vector (line 425) | class Vector: public Collection <T>
method Vector (line 428) | inline Vector(int initSize, bool ownerOfObjects) {
method put (line 431) | inline void put(T *newElement, int newPos = -1)
method insert (line 433) | inline void insert(T *newElement, int pos)
method insertSorted (line 435) | inline int insertSorted(T *newElement,
method remove (line 440) | inline void remove(int pos) { ((untyped::Vector*)this->base)->re...
method T (line 441) | inline T *get(int pos) const
method clear (line 443) | inline void clear() { ((untyped::Vector*)this->base)->clear(); }
method sort (line 444) | inline void sort(object::Comparator *comparator =
method bsearch (line 447) | inline int bsearch(T *key, bool mustExist, int start, int end,
method bsearch (line 452) | inline int bsearch(T *key, bool mustExist,
class List (line 463) | class List: public Collection <T>
method List (line 466) | inline List(bool ownerOfObjects)
method clear (line 469) | inline void clear() { ((untyped::List*)this->base)->clear(); }
method append (line 470) | inline void append(T *element)
method insertBefore (line 472) | inline bool insertBefore(object::Object *beforeThis, object::Obj...
method removeRef (line 474) | inline bool removeRef(T *element) {
method remove (line 476) | inline bool remove(T *element) {
method detachRef (line 478) | inline bool detachRef(T *element) {
method isEmpty (line 481) | inline bool isEmpty() const
method T (line 483) | inline T *getFirst() const
method T (line 485) | inline T *getLast() const
class HashSet (line 492) | class HashSet: public Collection <T>
method HashSet (line 495) | inline HashSet() { }
method HashSet (line 498) | inline HashSet(bool owner, int tableSize = 251)
method put (line 501) | inline void put(T *object)
method contains (line 503) | inline bool contains(T *object) const
method remove (line 505) | inline bool remove(T *object)
class HashTable (line 514) | class HashTable: public HashSet <K>
method HashTable (line 517) | inline HashTable(bool ownerOfKeys, bool ownerOfValues, int table...
method put (line 521) | inline void put(K *key, V *value)
method V (line 523) | inline V *get(K *key) const
class Stack (line 530) | class Stack: public Collection <T>
method Stack (line 533) | inline Stack (bool ownerOfObjects)
method push (line 536) | inline void push (T *object) {
method pushUnder (line 538) | inline void pushUnder (T *object)
method T (line 540) | inline T *getTop () const
method pop (line 542) | inline void pop () { ((untyped::Stack*)this->base)->pop (); }
FILE: lout/debug_rtfl.hh
function rtfl_print (line 51) | inline void rtfl_print (const char *module, const char *version,
FILE: lout/identity.cc
type lout (line 24) | namespace lout {
type identity (line 25) | namespace identity {
FILE: lout/identity.hh
type lout (line 8) | namespace lout {
type identity (line 13) | namespace identity {
class IdentifiableObject (line 98) | class IdentifiableObject: public object::Object
class Class (line 101) | class Class: public object::Object
method getClassId (line 134) | int getClassId () { return classId; }
FILE: lout/misc.cc
type lout (line 29) | namespace lout {
type misc (line 31) | namespace misc {
function init (line 35) | void init (int argc, char *argv[])
FILE: lout/misc.hh
type lout (line 10) | namespace lout {
type misc (line 17) | namespace misc {
function T (line 19) | inline T min (T a, T b) { return a < b ? a : b; }
function T (line 20) | inline T max (T a, T b) { return a > b ? a : b; }
function T (line 22) | inline T min (T a, T b, T c)
function T (line 26) | inline T max (T a, T b, T c)
function assertNotReached (line 35) | inline void assertNotReached ()
function assertNotReached (line 41) | inline void assertNotReached (const char *fmt, ...)
function notImplemented (line 55) | inline void notImplemented (const char *name)
function roundInt (line 61) | inline int roundInt(double d)
function AsciiTolower (line 66) | inline int AsciiTolower(char c)
function AsciiToupper (line 71) | inline int AsciiToupper(char c)
function AsciiStrcasecmp (line 76) | inline int AsciiStrcasecmp(const char *s1, const char *s2)
class SimpleVector (line 93) | class SimpleVector
method resize (line 99) | inline void resize ()
method SimpleVector (line 117) | inline SimpleVector (int initAlloc = 1)
method SimpleVector (line 124) | inline SimpleVector (const SimpleVector &o) {
method size (line 141) | inline int size() const { return this->num; }
method empty (line 143) | inline bool empty() const { return size() == 0; }
method T (line 145) | inline T* getArray() const { return array; }
method T (line 147) | inline T* detachArray() {
method increase (line 160) | inline void increase() { setSize(this->num + 1); }
method setSize (line 167) | inline void setSize(int newSize) {
method setSize (line 178) | inline void setSize (int newSize, T t) {
method T (line 190) | inline T* getRef (int i) const {
method T (line 201) | inline T get (int i) const {
method T (line 209) | inline T* getFirstRef () const {
method T (line 217) | inline T getFirst () const {
method T (line 225) | inline T* getLastRef () const {
method T (line 233) | inline T getLast () const {
method set (line 246) | inline void set (int i, T t) {
method setLast (line 254) | inline void setLast (T t) {
method copyTo (line 266) | inline void copyTo(SimpleVector<T> *dest, int thisStart = 0,
class NotSoSimpleVector (line 310) | class NotSoSimpleVector
method resizeMain (line 316) | inline void resizeMain ()
method resizeExtra (line 333) | inline void resizeExtra ()
method consolidate (line 353) | void consolidate ()
method NotSoSimpleVector (line 367) | inline NotSoSimpleVector (int initAlloc)
method NotSoSimpleVector (line 376) | inline NotSoSimpleVector (const NotSoSimpleVector &o)
method size (line 403) | inline int size() const { return this->numMain + this->numExtra; }
method empty (line 405) | inline bool empty() const { return size() == 0; }
method increase (line 407) | inline void increase() { setSize(size() + 1); }
method setSize (line 409) | inline void setSize(int newSize)
method insert (line 416) | void insert (int index, int numInsert)
method T (line 472) | inline T* getRef (int i) const
method T (line 507) | inline T get (int i) const
method T (line 515) | inline T* getFirstRef () const {
method T (line 523) | inline T getFirst () const {
method T (line 530) | inline T* getLastRef () const {
method T (line 538) | inline T getLast () const {
method set (line 550) | inline void set (int i, T t) {
method setLast (line 557) | inline void setLast (T t) {
class StringBuffer (line 565) | class StringBuffer
type Node (line 568) | struct Node
method append (line 589) | inline void append(const char *str) { appendNoCopy(strdup(str)); }
method appendInt (line 590) | inline void appendInt(int n)
method appendPointer (line 592) | inline void appendPointer(void *p)
method appendBool (line 594) | inline void appendBool(bool b) { append (b ? "true" : "false"); }
class BitSet (line 604) | class BitSet
method bytesForBits (line 610) | inline int bytesForBits(int bits) { return bits == 0 ? 1 : (bits +...
class ZoneAllocator (line 626) | class ZoneAllocator
method ZoneAllocator (line 634) | ZoneAllocator (size_t poolSize) {
method zoneFree (line 668) | inline void zoneFree () {
FILE: lout/object.cc
type lout (line 27) | namespace lout {
type object (line 29) | namespace object {
function Object (line 68) | Object *Object::clone()
FILE: lout/object.hh
type lout (line 9) | namespace lout {
type object (line 15) | namespace object {
class Object (line 24) | class Object
class Comparable (line 41) | class Comparable: public Object
class Comparator (line 66) | class Comparator: public Object
class StandardComparator (line 88) | class StandardComparator: public Comparator
class Pointer (line 99) | class Pointer: public Object
method Pointer (line 105) | Pointer(void *value) { this->value = value; }
class TypedPointer (line 115) | class TypedPointer: public Pointer
method TypedPointer (line 118) | inline TypedPointer(T *value) : Pointer ((void*)value) { }
method T (line 119) | inline T *getTypedValue() { return (T*)getValue(); }
class Integer (line 126) | class Integer: public Comparable
method Integer (line 131) | Integer(int value) { this->value = value; }
method getValue (line 136) | inline int getValue() { return value; }
class Boolean (line 143) | class Boolean: public Comparable
method Boolean (line 148) | Boolean(bool value) { this->value = value; }
method getValue (line 153) | inline bool getValue() { return value; }
class ConstString (line 162) | class ConstString: public Comparable
method ConstString (line 168) | ConstString(const char *str) { this->str = str; }
class String (line 185) | class String: public ConstString
class PairBase (line 195) | class PairBase: public Object
class Pair (line 213) | class Pair: public PairBase
method Pair (line 216) | Pair(Object *first, Object *second): PairBase (first, second) { }
method Object (line 218) | inline Object *getFirst () { return first; }
method Object (line 219) | inline Object *getSecond () { return second; }
class TypedPair (line 225) | class TypedPair: public PairBase
method TypedPair (line 228) | TypedPair(F *first, S *second): PairBase (first, second) { }
method F (line 230) | inline F *getFirst () { return first; }
method S (line 231) | inline S *getSecond () { return second; }
FILE: lout/signal.cc
type lout (line 24) | namespace lout {
type signal (line 25) | namespace signal {
FILE: lout/signal.hh
type lout (line 7) | namespace lout {
type signal (line 179) | namespace signal {
class Receiver (line 181) | class Receiver
class Emitter (line 212) | class Emitter: public object::Object
class Receiver (line 253) | class Receiver: public object::Object
class ObservedObject (line 274) | class ObservedObject
class DeletionReceiver (line 277) | class DeletionReceiver: public signal::Receiver
class DeletionEmitter (line 284) | class DeletionEmitter: public signal::Emitter
method connectDeletion (line 291) | inline void connectDeletion (DeletionReceiver *receiver)
method connectDeletion (line 302) | inline void connectDeletion (DeletionReceiver *receiver)
FILE: lout/unicode.cc
type lout (line 26) | namespace lout {
type unicode (line 28) | namespace unicode {
function isAlpha (line 68) | bool isAlpha (int ch)
function decodeUtf8 (line 73) | int decodeUtf8 (const char *s)
function decodeUtf8 (line 92) | int decodeUtf8 (const char *s, int len)
function numUtf8Chars (line 162) | int numUtf8Chars (const char *s)
function numUtf8Chars (line 170) | int numUtf8Chars (const char *s, int len)
FILE: lout/unicode.hh
type lout (line 4) | namespace lout {
type unicode (line 10) | namespace unicode {
FILE: src/IO/IO.c
type IOData_t (line 35) | typedef struct {
function IOData_t (line 64) | static IOData_t *IO_new(int op)
function IO_ins (line 80) | static void IO_ins(IOData_t *io)
function IO_del (line 92) | static void IO_del(IOData_t *io)
function IOData_t (line 104) | static IOData_t *IO_get(int Key)
function IO_free (line 112) | static void IO_free(IOData_t *io)
function IO_close_fd (line 125) | static void IO_close_fd(IOData_t *io, int CloseCode)
function bool_t (line 157) | static bool_t IO_read(IOData_t *io)
function bool_t (line 219) | static bool_t IO_write(IOData_t *io)
function IO_callback (line 265) | static int IO_callback(IOData_t *io)
function IO_fd_read_cb (line 283) | static void IO_fd_read_cb(int fd, void *data)
function IO_fd_write_cb (line 306) | static void IO_fd_write_cb(int fd, void *data)
function IO_submit (line 328) | static void IO_submit(IOData_t *r_io)
function a_IO_ccc (line 359) | void a_IO_ccc(int Op, int Branch, int Dir, ChainLink *Info,
FILE: src/IO/dpi.c
type dpi_conn_t (line 54) | typedef struct {
function a_Dpi_init (line 83) | void a_Dpi_init(void)
function dpi_conn_t (line 91) | static dpi_conn_t *Dpi_conn_new(ChainLink *Info)
function Dpi_conn_free (line 105) | static void Dpi_conn_free(dpi_conn_t *conn)
function Dpi_conn_valid (line 116) | static int Dpi_conn_valid(int key)
function Dpi_append_dbuf (line 124) | static void Dpi_append_dbuf(dpi_conn_t *conn, DataBuf *dbuf)
function Dpi_get_token (line 141) | static int Dpi_get_token(dpi_conn_t *conn)
function Dpi_parse_token (line 198) | static void Dpi_parse_token(dpi_conn_t *conn)
function Dpi_blocking_write (line 255) | static int Dpi_blocking_write(int fd, const char *msg, int msg_len)
function Dpi_process_dbuf (line 314) | static void Dpi_process_dbuf(int Op, void *Data1, dpi_conn_t *conn)
function Dpi_start_dpid (line 338) | static int Dpi_start_dpid(void)
function Dpi_read_comm_keys (line 393) | static int Dpi_read_comm_keys(int *port)
function Dpi_make_socket_fd (line 422) | static int Dpi_make_socket_fd()
function Dpi_check_dpid_ids (line 438) | static int Dpi_check_dpid_ids()
function Dpi_check_dpid (line 467) | static int Dpi_check_dpid(int num_tries)
function Dpi_blocking_start_dpid (line 504) | static int Dpi_blocking_start_dpid(void)
function Dpi_get_server_port (line 525) | static int Dpi_get_server_port(const char *server_name)
function Dpi_connect_socket (line 603) | static int Dpi_connect_socket(const char *server_name)
function a_Dpi_ccc (line 645) | void a_Dpi_ccc(int Op, int Branch, int Dir, ChainLink *Info,
function a_Dpi_dillo_exit (line 760) | void a_Dpi_dillo_exit()
FILE: src/IO/http.c
type SocketData_t (line 60) | typedef struct {
type Server_t (line 76) | typedef struct {
type FdMapEntry_t (line 86) | typedef struct {
function a_Http_init (line 117) | int a_Http_init(void)
function a_Http_proxy_auth (line 147) | int a_Http_proxy_auth(void)
function a_Http_set_proxy_passwd (line 155) | void a_Http_set_proxy_passwd(const char *str)
function Http_sock_new (line 166) | static int Http_sock_new(void)
function Http_fd_map_cmp (line 176) | static int Http_fd_map_cmp(const void *v1, const void *v2)
function Http_fd_map_add_entry (line 184) | static void Http_fd_map_add_entry(SocketData_t *sd)
function Http_fd_map_remove_entry (line 201) | static void Http_fd_map_remove_entry(int fd)
function a_Http_connect_done (line 213) | void a_Http_connect_done(int fd, bool_t success)
function Http_socket_activate (line 240) | static void Http_socket_activate(Server_t *srv, SocketData_t *sd)
function Http_connect_queued_sockets (line 248) | static void Http_connect_queued_sockets(Server_t *srv)
function Http_socket_free (line 295) | static void Http_socket_free(int SKey)
function Dstr (line 355) | static Dstr *Http_make_content_type(const DilloUrl *url)
function Dstr (line 382) | static Dstr *Http_make_query_str(DilloWeb *web, bool_t use_proxy)
function Http_send_query (line 484) | static void Http_send_query(SocketData_t *S)
function Http_connect_tls (line 505) | static void Http_connect_tls(ChainLink *info)
function Http_connect_socket_cb (line 530) | static void Http_connect_socket_cb(int fd, void *data)
function Http_connect_socket (line 568) | static void Http_connect_socket(ChainLink *Info)
function Http_must_use_proxy (line 663) | static int Http_must_use_proxy(const char *hostname)
function Http_dns_cb (line 736) | static void Http_dns_cb(int Status, Dlist *addr_list, void *data)
function Http_get (line 780) | static int Http_get(ChainLink *Info, void *Data1)
function bool_t (line 822) | static bool_t Http_socket_reuse_compatible(SocketData_t *old,
function Http_socket_reuse (line 842) | static void Http_socket_reuse(int SKey)
function a_Http_ccc (line 880) | void a_Http_ccc(int Op, int Branch, int Dir, ChainLink *Info,
function Http_socket_enqueue (line 1036) | static void Http_socket_enqueue(Server_t *srv, SocketData_t* sock)
function Server_t (line 1055) | static Server_t *Http_server_get(const char *host, uint_t port, bool_t h...
function Http_server_remove (line 1079) | static void Http_server_remove(Server_t *srv)
function Http_servers_remove_all (line 1093) | static void Http_servers_remove_all()
function Http_fd_map_remove_all (line 1109) | static void Http_fd_map_remove_all()
function a_Http_freeall (line 1125) | void a_Http_freeall(void)
FILE: src/IO/iowatch.cc
function a_IOwatch_add_fd (line 20) | void a_IOwatch_add_fd(int fd, int when, Fl_FD_Handler Callback,
function a_IOwatch_remove_fd (line 30) | void a_IOwatch_remove_fd(int fd, int when)
FILE: src/IO/mime.c
type MimeItem_t (line 16) | typedef struct {
function Mime_add_minor_type (line 37) | static int Mime_add_minor_type(const char *Key, Viewer_t Method)
function Mime_add_major_type (line 51) | static int Mime_add_major_type(const char *Key, Viewer_t Method)
function Viewer_t (line 64) | static Viewer_t Mime_minor_type_fetch(const char *Key, uint_t Size)
function Viewer_t (line 80) | static Viewer_t Mime_major_type_fetch(const char *Key, uint_t Size)
function a_Mime_init (line 96) | void a_Mime_init()
function Viewer_t (line 132) | Viewer_t a_Mime_get_viewer(const char *content_type)
FILE: src/IO/tls.c
function a_Tls_init (line 31) | void a_Tls_init()
type Server_t (line 58) | typedef struct {
type CertAuth_t (line 64) | typedef struct {
type FdMapEntry_t (line 69) | typedef struct {
type Conn_t (line 77) | typedef struct {
function Tls_fd_map_cmp (line 101) | static int Tls_fd_map_cmp(const void *v1, const void *v2)
function Tls_fd_map_add_entry (line 109) | static void Tls_fd_map_add_entry(int fd, int connkey)
function Tls_fd_map_remove_entry (line 127) | static void Tls_fd_map_remove_entry(int fd)
function Conn_t (line 161) | static Conn_t *Tls_conn_new(int fd, const DilloUrl *url,
function Tls_make_conn_key (line 173) | static int Tls_make_conn_key(Conn_t *conn)
function Tls_load_certificates_from_file (line 185) | static int Tls_load_certificates_from_file(SSL_CTX *ssl_context, const c...
function Tls_load_certificates_from_path (line 199) | static int Tls_load_certificates_from_path(SSL_CTX *ssl_context, const c...
function Tls_load_certificates (line 213) | static void Tls_load_certificates(SSL_CTX *ssl_context)
function Tls_set_cipher_list (line 265) | static void Tls_set_cipher_list(SSL_CTX *ssl_context)
function SSL_CTX (line 299) | static SSL_CTX * Tls_context_new(void)
function a_Tls_init (line 326) | void a_Tls_init(void)
function Tls_servers_cmp (line 349) | static int Tls_servers_cmp(const void *v1, const void *v2)
function Tls_servers_by_url_cmp (line 361) | static int Tls_servers_by_url_cmp(const void *v1, const void *v2)
function a_Tls_connect_ready (line 380) | int a_Tls_connect_ready(const DilloUrl *url)
function Tls_cert_status (line 406) | static int Tls_cert_status(const DilloUrl *url)
function Tls_user_said_no (line 417) | static int Tls_user_said_no(const DilloUrl *url)
function a_Tls_certificate_is_clean (line 426) | int a_Tls_certificate_is_clean(const DilloUrl *url)
function Tls_cert_expired (line 434) | static void Tls_cert_expired(const X509 *cert, Dstr *ds)
function Tls_cert_cn_mismatch (line 452) | static void Tls_cert_cn_mismatch(const X509 *cert, Dstr *ds)
function Tls_cert_trust_chain_failed (line 470) | static void Tls_cert_trust_chain_failed(const X509 *cert, Dstr *ds)
function Tls_cert_not_valid_yet (line 486) | static void Tls_cert_not_valid_yet(const X509 *cert, Dstr *ds)
function get_cert_algorithm (line 503) | int get_cert_algorithm(const X509 *cert)
function Tls_cert_bad_hash (line 515) | static void Tls_cert_bad_hash(const X509 *cert, Dstr *ds)
function Tls_cert_bad_pk_alg (line 537) | static void Tls_cert_bad_pk_alg(const X509 *cert, Dstr *ds)
function Tls_cert_bad_key (line 560) | static void Tls_cert_bad_key(const X509 *cert, Dstr *ds)
function Tls_cert_auth_cmp (line 659) | static int Tls_cert_auth_cmp(const void *v1, const void *v2)
function Tls_cert_auth_cmp_by_name (line 666) | static int Tls_cert_auth_cmp_by_name(const void *v1, const void *v2)
function Tls_examine_certificate (line 679) | static int Tls_examine_certificate(SSL *ssl_connection, Server_t *srv)
function a_Tls_reset_server_state (line 732) | void a_Tls_reset_server_state(const DilloUrl *url)
function Tls_close_by_key (line 745) | static void Tls_close_by_key(int connkey)
function Tls_handshake (line 772) | static void Tls_handshake(int fd, int connkey)
function Tls_handshake_cb (line 843) | static void Tls_handshake_cb(int fd, void *vconnkey)
function a_Tls_connect (line 851) | void a_Tls_connect(int fd, const DilloUrl *url)
function a_Tls_read (line 905) | int a_Tls_read(void *conn, void *buf, size_t len)
function a_Tls_write (line 921) | int a_Tls_write(void *conn, void *buf, size_t len)
function a_Tls_close_by_fd (line 932) | void a_Tls_close_by_fd(int fd)
function Tls_servers_freeall (line 942) | static void Tls_servers_freeall()
function Tls_fd_map_remove_all (line 957) | static void Tls_fd_map_remove_all()
function a_Tls_freeall (line 974) | void a_Tls_freeall(void)
FILE: src/auth.c
type AuthParse_t (line 27) | typedef struct {
type AuthHost_t (line 39) | typedef struct {
type AuthDialogData_t (line 45) | typedef struct {
function a_Auth_init (line 58) | void a_Auth_init(void)
function AuthParse_t (line 63) | static AuthParse_t *Auth_parse_new()
function Auth_parse_free (line 78) | static void Auth_parse_free(AuthParse_t *auth_parse)
function Auth_path_is_inside (line 89) | static int Auth_path_is_inside(const char *path1, const char *path2, int...
function Auth_is_token_char (line 104) | static int Auth_is_token_char(char c)
function Dstr (line 124) | static Dstr *Auth_unquote_value(char **valuep)
function Auth_parse_token_value (line 163) | static int Auth_parse_token_value(AuthParse_t *auth_parse, char **auth,
function Auth_parse_basic_challenge_cb (line 228) | static int Auth_parse_basic_challenge_cb(AuthParse_t *auth_parse, char *...
function Auth_parse_digest_challenge_cb (line 241) | static int Auth_parse_digest_challenge_cb(AuthParse_t *auth_parse, char ...
function Auth_parse_challenge_args (line 304) | static void Auth_parse_challenge_args(AuthParse_t *auth_parse,
function Auth_parse_challenge (line 338) | static void Auth_parse_challenge(AuthParse_t *auth_parse, char *challenge)
function AuthHost_t (line 356) | static AuthHost_t *Auth_host_by_url(const DilloUrl *url)
function AuthRealm_t (line 372) | static AuthRealm_t *Auth_realm_by_name(const AuthHost_t *host,
function AuthRealm_t (line 388) | static AuthRealm_t *Auth_realm_by_path(const AuthHost_t *host,
function Auth_realm_delete (line 412) | static void Auth_realm_delete(AuthRealm_t *realm)
function Auth_realm_includes_path (line 430) | static int Auth_realm_includes_path(const AuthRealm_t *realm, const char...
function Auth_realm_add_path (line 442) | static void Auth_realm_add_path(AuthRealm_t *realm, const char *path)
function Auth_do_auth_required (line 493) | static int Auth_do_auth_required(const AuthParse_t *auth_parse,
function Auth_do_auth_dialog_cb (line 545) | static void Auth_do_auth_dialog_cb(const char *user, const char *password,
function Auth_do_auth_dialog (line 618) | static int Auth_do_auth_dialog(const AuthParse_t *auth_parse,
function Auth_do_auth (line 645) | static int Auth_do_auth(char *challenge, enum AuthParseHTTPAuthType_t type,
function a_Auth_do_auth (line 670) | int a_Auth_do_auth(Dlist *challenges, const DilloUrl *url)
FILE: src/auth.h
type AuthParseHTTPAuthType_t (line 10) | enum AuthParseHTTPAuthType_t { TYPENOTSET, BASIC, DIGEST }
type AuthParseDigestAlgorithm_t (line 11) | enum AuthParseDigestAlgorithm_t { ALGORITHMNOTSET, MD5, MD5SESS }
type AuthParseDigestQOP_t (line 12) | enum AuthParseDigestQOP_t { QOPNOTSET, AUTH, AUTHINT }
type AuthRealm_t (line 14) | typedef struct {
FILE: src/bitvec.c
function bitvec_t (line 23) | bitvec_t *a_Bitvec_new(int num_bits)
function a_Bitvec_clear (line 35) | void a_Bitvec_clear(bitvec_t *bvec)
function a_Bitvec_free (line 43) | void a_Bitvec_free(bitvec_t *bvec)
function a_Bitvec_get_bit (line 54) | int a_Bitvec_get_bit(bitvec_t *bvec, int pos)
function a_Bitvec_set_bit (line 63) | void a_Bitvec_set_bit(bitvec_t *bvec, int pos)
FILE: src/bitvec.h
type bitvec_t (line 9) | typedef struct {
FILE: src/bookmark.c
function a_Bookmarks_chat_add (line 27) | void a_Bookmarks_chat_add(BrowserWindow *Bw, char *Cmd, char *answer)
function a_Bookmarks_add (line 71) | void a_Bookmarks_add(BrowserWindow *bw, const DilloUrl *url)
FILE: src/bw.c
function a_Bw_init (line 33) | void a_Bw_init(void)
function BrowserWindow (line 44) | BrowserWindow *a_Bw_new()
function a_Bw_free (line 84) | void a_Bw_free(BrowserWindow *bw)
function a_Bw_add_client (line 123) | void a_Bw_add_client(BrowserWindow *bw, int Key, int Root)
function a_Bw_remove_client (line 144) | int a_Bw_remove_client(BrowserWindow *bw, int ClientKey)
function a_Bw_close_client (line 162) | void a_Bw_close_client(BrowserWindow *bw, int ClientKey)
function a_Bw_stop_clients (line 177) | void a_Bw_stop_clients(BrowserWindow *bw, int flags)
function a_Bw_add_url (line 204) | void a_Bw_add_url(BrowserWindow *bw, const DilloUrl *Url)
function a_Bw_add_doc (line 216) | void a_Bw_add_doc(BrowserWindow *bw, void *vdoc)
function a_Bw_remove_doc (line 258) | void a_Bw_remove_doc(BrowserWindow *bw, void *vdoc)
function a_Bw_cleanup (line 272) | void a_Bw_cleanup(BrowserWindow *bw)
function a_Bw_num (line 300) | int a_Bw_num()
function BrowserWindow (line 308) | BrowserWindow *a_Bw_get(int i)
function a_Bw_expect (line 317) | void a_Bw_expect(BrowserWindow *bw, const DilloUrl *url)
function a_Bw_cancel_expect (line 323) | void a_Bw_cancel_expect(BrowserWindow *bw)
function bool_t (line 329) | bool_t a_Bw_expecting(BrowserWindow *bw)
function DilloUrl (line 334) | const DilloUrl *a_Bw_expected_url(BrowserWindow *bw)
FILE: src/bw.h
type BrowserWindow (line 15) | typedef struct {
FILE: src/cache.c
type CacheEntry_t (line 47) | typedef struct {
function Cache_entry_cmp (line 95) | static int Cache_entry_cmp(const void *v1, const void *v2)
function Cache_entry_by_url_cmp (line 105) | static int Cache_entry_by_url_cmp(const void *v1, const void *v2)
function a_Cache_init (line 116) | void a_Cache_init(void)
function Cache_client_enqueue (line 139) | static int Cache_client_enqueue(const DilloUrl *Url, DilloWeb *Web,
function Cache_client_by_key_cmp (line 168) | static int Cache_client_by_key_cmp(const void *client, const void *key)
function Cache_client_dequeue (line 176) | static void Cache_client_dequeue(CacheClient_t *Client)
function Cache_entry_init (line 191) | static void Cache_entry_init(CacheEntry_t *NewEntry, const DilloUrl *Url)
function CacheEntry_t (line 216) | static CacheEntry_t *Cache_entry_search(const DilloUrl *Url)
function CacheEntry_t (line 224) | static CacheEntry_t *Cache_entry_search_with_redirect(const DilloUrl *Url)
function CacheEntry_t (line 248) | static CacheEntry_t *Cache_entry_add(const DilloUrl *Url)
function Cache_entry_inject (line 267) | static void Cache_entry_inject(const DilloUrl *Url, Dstr *data_ds)
function Cache_auth_free (line 285) | static void Cache_auth_free(Dlist *auth)
function Cache_entry_free (line 297) | static void Cache_entry_free(CacheEntry_t *entry)
function Cache_entry_remove (line 323) | static void Cache_entry_remove(CacheEntry_t *entry, DilloUrl *url)
function a_Cache_entry_remove_by_url (line 355) | void a_Cache_entry_remove_by_url(DilloUrl *url)
function a_Cache_open_url (line 374) | int a_Cache_open_url(void *web, CA_Callback_t Call, void *CbData)
function uint_t (line 404) | uint_t a_Cache_get_flags(const DilloUrl *url)
function uint_t (line 413) | uint_t a_Cache_get_flags_with_redirection(const DilloUrl *url)
function Cache_ref_data (line 422) | static void Cache_ref_data(CacheEntry_t *entry)
function Cache_unref_data (line 440) | static void Cache_unref_data(CacheEntry_t *entry)
function Dstr (line 480) | static Dstr *Cache_data(CacheEntry_t *entry)
function a_Cache_get_buf (line 545) | int a_Cache_get_buf(const DilloUrl *Url, char **PBuf, int *BufSize)
function a_Cache_unref_buf (line 564) | void a_Cache_unref_buf(const DilloUrl *Url)
function Dlist (line 610) | static Dlist *Cache_parse_multiple_fields(const char *header,
function Cache_parse_header (line 653) | static void Cache_parse_header(CacheEntry_t *entry)
function Cache_get_header (line 817) | static int Cache_get_header(CacheEntry_t *entry,
function Cache_finish_msg (line 848) | static void Cache_finish_msg(CacheEntry_t *entry)
function bool_t (line 890) | bool_t a_Cache_process_dbuf(int Op, const char *buf, size_t buf_size,
function Cache_redirect (line 989) | static int Cache_redirect(CacheEntry_t *entry, int Flags, BrowserWindow ...
type CacheAuthData_t (line 1038) | typedef struct {
function Cache_auth_callback (line 1047) | static void Cache_auth_callback(void *vdata)
function Cache_auth_entry (line 1062) | static void Cache_auth_entry(CacheEntry_t *entry, BrowserWindow *bw)
function a_Cache_download_enabled (line 1086) | int a_Cache_download_enabled(const DilloUrl *url)
function Cache_null_client (line 1102) | static void Cache_null_client(int Op, CacheClient_t *Client)
type Cache_savelink_t (line 1119) | typedef struct {
function Cache_savelink_cb (line 1128) | static void Cache_savelink_cb(void *vdata)
function Cache_provide_redirection_blocked_page (line 1140) | static void Cache_provide_redirection_blocked_page(CacheEntry_t *entry,
function CacheEntry_t (line 1170) | static CacheEntry_t *Cache_process_queue(CacheEntry_t *entry)
function Cache_delayed_process_queue_callback (line 1357) | static void Cache_delayed_process_queue_callback()
function Cache_delayed_process_queue (line 1375) | static void Cache_delayed_process_queue(CacheEntry_t *entry)
function CacheClient_t (line 1393) | CacheClient_t *a_Cache_client_get_if_unique(int Key)
function a_Cache_stop_client (line 1413) | void a_Cache_stop_client(int Key)
function a_Cache_freeall (line 1442) | void a_Cache_freeall(void)
FILE: src/cache.h
type CacheClient_t (line 38) | typedef struct CacheClient CacheClient_t;
type CacheClient (line 48) | struct CacheClient {
FILE: src/capi.c
type capi_conn_t (line 37) | typedef struct {
function a_Capi_init (line 78) | void a_Capi_init(void)
function capi_conn_t (line 91) | static capi_conn_t *
function capi_conn_t (line 113) | static capi_conn_t *Capi_conn_valid(capi_conn_t *conn)
function Capi_conn_ref (line 121) | static void Capi_conn_ref(capi_conn_t *conn)
function Capi_conn_unref (line 133) | static void Capi_conn_unref(capi_conn_t *conn)
function Capi_conn_by_server_cmp (line 153) | static int Capi_conn_by_server_cmp(const void *v1, const void *v2)
function capi_conn_t (line 164) | static capi_conn_t *Capi_conn_find(char *server)
function Capi_conn_resume (line 172) | static void Capi_conn_resume(void)
function a_Capi_conn_abort_by_url (line 197) | void a_Capi_conn_abort_by_url(const DilloUrl *url)
function a_Capi_set_vsource_url (line 221) | void a_Capi_set_vsource_url(const DilloUrl *url)
function a_Capi_dpi_verify_request (line 230) | int a_Capi_dpi_verify_request(BrowserWindow *bw, DilloUrl *url)
function Capi_url_uses_dpi (line 267) | static int Capi_url_uses_dpi(DilloUrl *url, char **server_ptr)
function Capi_dpi_send_source (line 319) | static void Capi_dpi_send_source(BrowserWindow *bw, DilloUrl *url)
function bool_t (line 345) | static bool_t Capi_request_permitted(DilloWeb *web)
function a_Capi_open_url (line 390) | int a_Capi_open_url(DilloWeb *web, CA_Callback_t Call, void *CbData)
function Capi_map_cache_flags (line 497) | static int Capi_map_cache_flags(uint_t flags)
function a_Capi_get_flags (line 518) | int a_Capi_get_flags(const DilloUrl *Url)
function a_Capi_get_flags_with_redirection (line 528) | int a_Capi_get_flags_with_redirection(const DilloUrl *Url)
function a_Capi_get_buf (line 539) | int a_Capi_get_buf(const DilloUrl *Url, char **PBuf, int *BufSize)
function a_Capi_unref_buf (line 547) | void a_Capi_unref_buf(const DilloUrl *Url)
function a_Capi_dpi_send_data (line 574) | int a_Capi_dpi_send_data(const DilloUrl *url, void *bw,
function a_Capi_dpi_send_cmd (line 609) | int a_Capi_dpi_send_cmd(DilloUrl *url, void *bw, char *cmd, char *server,
function a_Capi_stop_client (line 619) | void a_Capi_stop_client(int Key, int force)
function a_Capi_ccc (line 636) | void a_Capi_ccc(int Op, int Branch, int Dir, ChainLink *Info,
FILE: src/chain.c
function Chain_debug_msg (line 24) | static void Chain_debug_msg(char *FuncStr, int Op, int Branch, int Dir,
function Chain_debug_msg (line 34) | static void Chain_debug_msg(char *FuncStr, int Op, int Branch, int Dir,
function ChainLink (line 40) | ChainLink *a_Chain_new(void)
function ChainLink (line 53) | ChainLink *a_Chain_link_new(ChainLink *AInfo, ChainFunction_t AFunc,
function a_Chain_unlink (line 84) | void a_Chain_unlink(ChainLink *Info, int Direction)
function a_Chain_fcb (line 101) | int a_Chain_fcb(int Op, ChainLink *Info, void *Data1, void *Data2)
function a_Chain_bcb (line 124) | int a_Chain_bcb(int Op, ChainLink *Info, void *Data1, void *Data2)
function a_Chain_bfcb (line 148) | int a_Chain_bfcb(int Op, ChainLink *Info, void *Data1, void *Data2)
function DataBuf (line 169) | DataBuf *a_Chain_dbuf_new(void *buf, int size, int code)
function a_Chain_check (line 184) | int a_Chain_check(char *FuncStr, int Op, int Branch, int Dir,
FILE: src/chain.h
type ChainLink (line 32) | typedef struct ChainLink ChainLink;
type ChainLink (line 37) | struct ChainLink {
type DataBuf (line 52) | typedef struct {
FILE: src/colors.c
type key (line 28) | struct key {
function Color_parse_hex (line 220) | static int32_t Color_parse_hex (const char *s, int32_t default_color, in...
function a_Color_parse (line 258) | int32_t a_Color_parse (const char *str, int32_t default_color, int *err)
function Color_distance (line 310) | static int Color_distance(long c1, long c2)
function Color_distance2 (line 321) | static int Color_distance2(long c1, long c2)
function Color_distance3 (line 331) | static int Color_distance3(long c1, long c2)
function a_Color_vc (line 344) | int32_t a_Color_vc(int32_t candidate,
FILE: src/cookies.c
function a_Cookies_init (line 22) | void a_Cookies_init(void)
type CookieControlAction (line 49) | typedef enum {
type CookieControl (line 55) | typedef struct {
function FILE (line 77) | static FILE *Cookies_fopen(const char *filename, char *init_str)
function a_Cookies_init (line 114) | void a_Cookies_init(void)
function a_Cookies_freeall (line 132) | void a_Cookies_freeall()
function a_Cookies_set (line 139) | void a_Cookies_set(Dlist *cookie_strings, const DilloUrl *set_url,
function Cookie_control_init (line 238) | static int Cookie_control_init(void)
function CookieControlAction (line 334) | static CookieControlAction Cookies_control_check_domain(const char *domain)
function CookieControlAction (line 362) | static CookieControlAction Cookies_control_check(const DilloUrl *url)
FILE: src/css.cc
type CombinatorAndSelector (line 108) | struct CombinatorAndSelector
type CombinatorAndSelector (line 135) | struct CombinatorAndSelector
type CombinatorAndSelector (line 174) | struct CombinatorAndSelector
FILE: src/css.hh
function CssLength (line 91) | inline CssLength CSS_CREATE_LENGTH (float v, CssLengthType t) {
function CssLengthType (line 124) | inline CssLengthType CSS_LENGTH_TYPE (CssLength l) {
function CSS_LENGTH_VALUE (line 128) | inline float CSS_LENGTH_VALUE (CssLength l) {
class CssProperty (line 289) | class CssProperty {
method free (line 296) | inline void free () {
class CssPropertyList (line 315) | class CssPropertyList : public lout::misc::SimpleVector <CssProperty> {
method CssPropertyList (line 321) | inline CssPropertyList(bool ownerOfStrings = false) :
method isSafe (line 333) | bool isSafe () { return safe; }
method ref (line 335) | inline void ref () { refCount++; }
method unref (line 336) | inline void unref () { if (--refCount == 0) delete this; }
class CssSimpleSelector (line 339) | class CssSimpleSelector {
method setElement (line 360) | inline void setElement (int e) { element = e; }
method getElement (line 365) | inline int getElement () { return element; }
class MatchCache (line 371) | class MatchCache : public lout::misc::SimpleVector <int> {
method MatchCache (line 373) | MatchCache() : lout::misc::SimpleVector <int> (0) {}
class CssSelector (line 381) | class CssSelector {
type CombinatorAndSelector (line 391) | struct CombinatorAndSelector {
type CombinatorAndSelector (line 397) | struct CombinatorAndSelector
method CssSimpleSelector (line 406) | inline CssSimpleSelector *top () {
method size (line 409) | inline int size () { return selectorList.size (); }
method match (line 410) | inline bool match (Doctree *dt, const DoctreeNode *node,
method setMatchCacheOffset (line 415) | inline void setMatchCacheOffset (int mo) {
method getRequiredMatchCache (line 419) | inline int getRequiredMatchCache () {
method ref (line 425) | inline void ref () { refCount++; }
method unref (line 426) | inline void unref () { if (--refCount == 0) delete this; }
class CssRule (line 434) | class CssRule {
method isSafe (line 447) | inline bool isSafe () {
method specificity (line 450) | inline int specificity () { return spec; }
method position (line 451) | inline int position () { return pos; }
class CssStyleSheet (line 460) | class CssStyleSheet {
class RuleList (line 462) | class RuleList : public lout::misc::SimpleVector <CssRule*>,
method RuleList (line 465) | RuleList () : lout::misc::SimpleVector <CssRule*> (1) {}
method equals (line 472) | inline bool equals (lout::object::Object *other) {
method hashValue (line 475) | inline int hashValue () { return (intptr_t) this; }
class RuleMap (line 478) | class RuleMap : public lout::container::typed::HashTable
method RuleMap (line 481) | RuleMap () : lout::container::typed::HashTable
method CssStyleSheet (line 497) | CssStyleSheet () { requiredMatchCache = 0; }
method getRequiredMatchCache (line 501) | int getRequiredMatchCache () { return requiredMatchCache; }
class CssContext (line 507) | class CssContext {
FILE: src/cssparser.cc
function Css_property_info_cmp (line 1218) | static int Css_property_info_cmp(const void *a, const void *b)
function Css_shorthand_info_cmp (line 1228) | static int Css_shorthand_info_cmp(const void *a, const void *b)
function safeCss (line 1237) | static int safeCss(CssPropertyName prop) {
function CssSelector (line 1503) | CssSelector *CssParser::parseSelector()
FILE: src/cssparser.hh
class DilloHtml (line 6) | class DilloHtml
class CssParser (line 8) | class CssParser {
FILE: src/decode.c
function Dstr (line 26) | Dstr *a_Decode_transfer_process(DecodeTransfer *dc, const char *instr,
function bool_t (line 85) | bool_t a_Decode_transfer_finished(DecodeTransfer *dc)
function a_Decode_transfer_free (line 90) | void a_Decode_transfer_free(DecodeTransfer *dc)
function Decode_compression_free (line 97) | static void Decode_compression_free(Decode *dc)
function Dstr (line 114) | static Dstr *Decode_gzip(Decode *dc, const char *instr, int inlen)
function Dstr (line 150) | static Dstr *Decode_raw_deflate(Decode *dc, const char *instr, int inlen)
function Dstr (line 187) | static Dstr *Decode_deflate(Decode *dc, const char *instr, int inlen)
function Dstr (line 238) | static Dstr *Decode_charset(Decode *dc, const char *instr, int inlen)
function Decode_charset_free (line 279) | static void Decode_charset_free(Decode *dc)
function DecodeTransfer (line 291) | DecodeTransfer *a_Decode_transfer_init(const char *format)
function Decode (line 307) | static Decode *Decode_content_init_common()
function Decode (line 327) | Decode *a_Decode_content_init(const char *format)
function Decode (line 365) | Decode *a_Decode_charset_init(const char *format)
function Dstr (line 392) | Dstr *a_Decode_process(Decode *dc, const char *instr, int inlen)
function a_Decode_free (line 400) | void a_Decode_free(Decode *dc)
FILE: src/decode.h
type Decode (line 10) | typedef struct Decode {
type DecodeTransfer (line 21) | typedef struct DecodeTransfer {
FILE: src/dialog.cc
class CustInput3 (line 51) | class CustInput3 : public Fl_Input {
method CustInput3 (line 53) | CustInput3 (int x, int y, int w, int h, const char* l=0) :
class CustChoice2 (line 88) | class CustChoice2 : public Fl_Choice {
method CustChoice2 (line 90) | CustChoice2 (int x, int y, int w, int h, const char* l=0) :
method handle (line 92) | int handle(int e) {
class EnterButton (line 102) | class EnterButton : public Fl_Button {
method EnterButton (line 104) | EnterButton (int x,int y,int w,int h, const char* label = 0) :
function a_Dialog_msg (line 126) | void a_Dialog_msg(const char *title, const char *msg)
function input_cb (line 138) | static void input_cb(Fl_Widget *button, void *number)
function text_window_close_cb (line 283) | static void text_window_close_cb(Fl_Widget *, void *vtd)
function a_Dialog_text_window (line 295) | void a_Dialog_text_window(const char *title, const char *txt)
function choice_cb (line 327) | static void choice_cb(Fl_Widget *button, void *number)
function a_Dialog_choice (line 341) | int a_Dialog_choice(const char *title, const char *msg, ...)
function Dialog_user_password_cb (line 402) | static void Dialog_user_password_cb(Fl_Widget *button, void *)
function a_Dialog_user_password (line 413) | int a_Dialog_user_password(const char *title, const char *msg,
FILE: src/dicache.c
function Dicache_entry_cmp (line 45) | static int Dicache_entry_cmp(const void *v1, const void *v2)
function a_Dicache_init (line 62) | void a_Dicache_init(void)
function DICacheEntry (line 71) | static DICacheEntry *Dicache_entry_new(void)
function DICacheEntry (line 100) | static DICacheEntry *Dicache_add_entry(const DilloUrl *Url)
function DICacheEntry (line 127) | DICacheEntry *a_Dicache_get_entry(const DilloUrl *Url, int version)
function Dicache_remove (line 144) | static void Dicache_remove(const DilloUrl *Url, int version)
function a_Dicache_unref (line 177) | void a_Dicache_unref(const DilloUrl *Url, int version)
function DICacheEntry (line 194) | DICacheEntry* a_Dicache_ref(const DilloUrl *Url, int version)
function a_Dicache_invalidate_entry (line 209) | void a_Dicache_invalidate_entry(const DilloUrl *Url)
function a_Dicache_set_parms (line 225) | void a_Dicache_set_parms(DilloUrl *url, int version, DilloImage *Image,
function a_Dicache_set_cmap (line 259) | void a_Dicache_set_cmap(DilloUrl *url, int version, int bg_color,
function a_Dicache_new_scan (line 283) | void a_Dicache_new_scan(const DilloUrl *url, int version)
function a_Dicache_write (line 306) | void a_Dicache_write(DilloUrl *url, int version, const uchar_t *buf, uin...
function a_Dicache_close (line 326) | void a_Dicache_close(DilloUrl *url, int version, CacheClient_t *Client)
function a_Dicache_callback (line 439) | void a_Dicache_callback(int Op, CacheClient_t *Client)
function a_Dicache_cleanup (line 507) | void a_Dicache_cleanup(void)
function a_Dicache_freeall (line 533) | void a_Dicache_freeall(void)
FILE: src/dicache.h
type DicEntryState (line 21) | typedef enum {
type DICacheEntry (line 30) | typedef struct DICacheEntry {
FILE: src/digest.c
function Dstr (line 22) | static Dstr *md5hexdigest(const Dstr *data)
function a_Digest_compute_digest (line 54) | int a_Digest_compute_digest(AuthRealm_t *realm, const char *username,
function Dstr (line 92) | static Dstr *Digest_create_response(AuthRealm_t *realm, const char *method,
function Digest_Dstr_append_token_value (line 142) | static void Digest_Dstr_append_token_value(Dstr *str, int delimiter,
FILE: src/dillo-plus.cc
function raw_sigchld2 (line 119) | static void raw_sigchld2(int signum)
function est_sigchld (line 146) | static void est_sigchld(void)
function printHelp (line 166) | static void printHelp(const char *cmdname, const CLI_options *options)
function numOptions (line 182) | static int numOptions(const CLI_options *options)
function OptID (line 195) | static OptID getCmdOption(const CLI_options *options, int argc, char **a...
function custLabelDraw (line 247) | static void custLabelDraw(const Fl_Label* o, int X, int Y, int W, int H,
function custLabelMeasure (line 258) | static void custLabelMeasure(const Fl_Label* o, int& W, int& H)
function custMenuLabelDraw (line 267) | static void custMenuLabelDraw(const Fl_Label* o, int X, int Y, int W, in...
function custMenuLabelMeasure (line 278) | static void custMenuLabelMeasure(const Fl_Label* o, int& W, int& H)
function checkFont (line 290) | static void checkFont(const char *name, const char *type)
function checkPreferredFonts (line 296) | static void checkPreferredFonts()
function setUIColorWdef (line 309) | static void setUIColorWdef(Fl_Color idx, int32_t color, Fl_Color default...
function setColors (line 317) | static void setColors()
function DilloUrl (line 351) | static DilloUrl *makeStartUrl(char *str, bool local)
function main (line 381) | int main(int argc, char **argv)
FILE: src/dns.c
type DnsServerState_t (line 53) | typedef enum {
type DnsServer (line 59) | typedef struct {
type GDnsCache (line 70) | typedef struct {
type GDnsQueue (line 75) | typedef struct {
function Dns_queue_add (line 103) | static void Dns_queue_add(int channel, const char *hostname,
function Dns_queue_find (line 118) | static int Dns_queue_find(const char *hostname)
function Dns_queue_remove (line 132) | static void Dns_queue_remove(int index)
function Dns_cache_add (line 164) | static void Dns_cache_add(char *hostname, Dlist *addr_list)
function a_Dns_init (line 177) | void a_Dns_init(void)
function Dns_note_hosts (line 219) | static void Dns_note_hosts(Dlist *list, struct addrinfo *res0)
type addrinfo (line 268) | struct addrinfo
function Dns_server_req (line 340) | static void Dns_server_req(int channel, const char *hostname)
function a_Dns_resolve (line 371) | void a_Dns_resolve(const char *hostname, DnsCallback_t cb_func, void *cb...
function Dns_serve_channel (line 412) | static void Dns_serve_channel(int channel)
function Dns_assign_channels (line 430) | static void Dns_assign_channels(void)
function Dns_timeout_client (line 461) | static void Dns_timeout_client(int fd, void *data)
function a_Dns_freeall (line 490) | void a_Dns_freeall(void)
function a_Dns_dillohost_to_string (line 512) | void a_Dns_dillohost_to_string(DilloHost *host, char *dst, size_t size)
FILE: src/dns.h
type DilloHost (line 23) | typedef struct {
FILE: src/doctree.hh
class DoctreeNode (line 6) | class DoctreeNode {
method DoctreeNode (line 17) | DoctreeNode () {
class Doctree (line 48) | class Doctree {
method Doctree (line 55) | Doctree () {
method DoctreeNode (line 65) | DoctreeNode *push () {
method pop (line 75) | void pop () {
method DoctreeNode (line 80) | inline DoctreeNode *top () {
method DoctreeNode (line 87) | inline DoctreeNode *parent (const DoctreeNode *node) {
method DoctreeNode (line 94) | inline DoctreeNode *sibling (const DoctreeNode *node) {
FILE: src/domain.c
type Rule (line 17) | typedef struct {
function a_Domain_parse (line 31) | void a_Domain_parse(FILE *fp)
function a_Domain_freeall (line 79) | void a_Domain_freeall(void)
function bool_t (line 95) | static bool_t Domain_match(const char *host, const char *pattern) {
function bool_t (line 116) | bool_t a_Domain_permit(const DilloUrl *source, const DilloUrl *dest)
FILE: src/dpiapi.c
function Dpiapi_dialog_answer_cb (line 33) | static void Dpiapi_dialog_answer_cb(BrowserWindow *bw, int answer)
function a_Dpiapi_dialog (line 50) | void a_Dpiapi_dialog(BrowserWindow *bw, char *server, char *dpip_tag)
FILE: src/findbar.cc
class MyInput (line 25) | class MyInput : public Fl_Input {
method MyInput (line 27) | MyInput (int x, int y, int w, int h, const char* l=0) :
FILE: src/findbar.hh
class Findbar (line 16) | class Findbar : public Fl_Group {
FILE: src/form.cc
class DilloHtmlReceiver (line 38) | class DilloHtmlReceiver
method DilloHtmlReceiver (line 130) | DilloHtmlReceiver (DilloHtmlForm* form2) { form = form2; }
class DilloHtmlSelect (line 39) | class DilloHtmlSelect
class DilloHtmlForm (line 73) | class DilloHtmlForm {
class DilloHtmlReceiver (line 124) | class DilloHtmlReceiver:
method DilloHtmlReceiver (line 130) | DilloHtmlReceiver (DilloHtmlForm* form2) { form = form2; }
class DilloHtmlInput (line 138) | class DilloHtmlInput {
method setEnabled (line 166) | void setEnabled(bool enabled) {if (embed) embed->setEnabled(enabled); }
class DilloHtmlOptbase (line 169) | class DilloHtmlOptbase
method isSelected (line 173) | virtual bool isSelected() {return false;}
method select (line 174) | virtual bool select() {return false;}
method setContent (line 176) | virtual void setContent(const char *str, int len)
class DilloHtmlOptgroup (line 181) | class DilloHtmlOptgroup : public DilloHtmlOptbase {
method addSelf (line 188) | void addSelf (SelectionResource *res)
class DilloHtmlOptgroupClose (line 192) | class DilloHtmlOptgroupClose : public DilloHtmlOptbase {
method addSelf (line 195) | void addSelf (SelectionResource *res)
class DilloHtmlOption (line 199) | class DilloHtmlOption : public DilloHtmlOptbase {
method isSelected (line 206) | bool isSelected() {return selected;}
method select (line 207) | bool select() {return (selected = true);}
method setContent (line 209) | void setContent(const char *str, int len) {content = dStrndup(str, len);}
method addSelf (line 210) | void addSelf (SelectionResource *res)
class DilloHtmlSelect (line 214) | class DilloHtmlSelect {
function DilloHtmlForm (line 233) | DilloHtmlForm *a_Html_form_new (DilloHtml *html, DilloHtmlMethod method,
function a_Html_form_delete (line 242) | void a_Html_form_delete (DilloHtmlForm *form)
function a_Html_input_delete (line 247) | void a_Html_input_delete (DilloHtmlInput *input)
function a_Html_form_submit2 (line 252) | void a_Html_form_submit2(void *vform)
function a_Html_form_reset2 (line 257) | void a_Html_form_reset2(void *vform)
function a_Html_form_display_hiddens2 (line 262) | void a_Html_form_display_hiddens2(void *vform, bool display)
function Html_add_input (line 274) | static void Html_add_input(DilloHtml *html, DilloHtmlInputType type,
function DilloHtmlInput (line 297) | static DilloHtmlInput *Html_get_radio_input(DilloHtml *html, const char ...
method setEnabled (line 166) | void setEnabled(bool enabled) {if (embed) embed->setEnabled(enabled); }
function DilloHtmlInput (line 320) | static DilloHtmlInput *Html_get_current_input(DilloHtml *html)
method setEnabled (line 166) | void setEnabled(bool enabled) {if (embed) embed->setEnabled(enabled); }
function Html_tag_open_form (line 336) | void Html_tag_open_form(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_close_form (line 400) | void Html_tag_close_form(DilloHtml *html)
function Html_input_get_size (line 411) | static int Html_input_get_size(DilloHtml *html, const char *attrbuf)
function Html_tag_open_input (line 430) | void Html_tag_open_input(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_isindex (line 592) | void Html_tag_open_isindex(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_textarea (line 629) | void Html_tag_open_textarea(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_content_textarea (line 639) | void Html_tag_content_textarea(DilloHtml *html, const char *tag, int tag...
function Html_tag_close_textarea (line 698) | void Html_tag_close_textarea(DilloHtml *html)
function Html_tag_open_select (line 738) | void Html_tag_open_select(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_close_select (line 791) | void Html_tag_close_select(DilloHtml *html)
function Html_tag_open_optgroup (line 811) | void Html_tag_open_optgroup(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_close_optgroup (line 847) | void Html_tag_close_optgroup(DilloHtml *html)
function Html_tag_open_option (line 871) | void Html_tag_open_option(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_close_option (line 899) | void Html_tag_close_option(DilloHtml *html)
function Html_tag_open_button (line 910) | void Html_tag_open_button(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_close_button (line 977) | void Html_tag_close_button(DilloHtml *html)
function DilloUrl (line 1077) | DilloUrl *DilloHtmlForm::buildQueryUrl(DilloHtmlInput *active_input)
function Dstr (line 1134) | Dstr *DilloHtmlForm::buildQueryData(DilloHtmlInput *active_submit)
function Dstr (line 1321) | Dstr *DilloHtmlForm::encodeText(iconv_t char_encoder, Dstr **input)
function DilloHtmlOptbase (line 1909) | DilloHtmlOptbase *DilloHtmlSelect::getCurrentOpt ()
method isSelected (line 173) | virtual bool isSelected() {return false;}
method select (line 174) | virtual bool select() {return false;}
method setContent (line 176) | virtual void setContent(const char *str, int len)
function Embed (line 2018) | static Embed *Html_input_image(DilloHtml *html, const char *tag, int tag...
function Html_option_finish (line 2047) | static void Html_option_finish(DilloHtml *html)
FILE: src/form.hh
class DilloHtmlForm (line 25) | class DilloHtmlForm
class DilloHtmlInput (line 26) | class DilloHtmlInput
class DilloHtml (line 27) | class DilloHtml
FILE: src/gif.c
type DilloGif (line 82) | typedef struct {
function Gif_free (line 180) | static void Gif_free(DilloGif *gif)
function a_Gif_callback (line 199) | void a_Gif_callback(int Op, void *data)
function Gif_write (line 215) | static void Gif_write(DilloGif *gif, void *Buf, uint_t BufSize)
function Gif_close (line 242) | static void Gif_close(DilloGif *gif, CacheClient_t *Client)
function Gif_data_blocks (line 260) | static inline size_t Gif_data_blocks(const uchar_t *Buf, size_t BSize)
function Gif_do_generic_ext (line 284) | static inline size_t Gif_do_generic_ext(const uchar_t *Buf, size_t BSize)
function Gif_do_gc_ext (line 306) | static inline size_t
function Gif_do_extension (line 344) | static size_t Gif_do_extension(DilloGif *gif, uint_t Label,
function Gif_lwz_init (line 368) | static void Gif_lwz_init(DilloGif *gif)
function Gif_emit_line (line 390) | static void Gif_emit_line(DilloGif *gif, const uchar_t *linebuf)
function Gif_literal (line 433) | static void Gif_literal(DilloGif *gif, uint_t code)
function Gif_sequence (line 449) | static void Gif_sequence(DilloGif *gif, uint_t code)
function Gif_process_code (line 571) | static int Gif_process_code(DilloGif *gif, uint_t code, uint_t clear_code)
function Gif_decode (line 605) | static int Gif_decode(DilloGif *gif, const uchar_t *buf, size_t bsize)
function Gif_check_sig (line 718) | static int Gif_check_sig(DilloGif *gif, const uchar_t *ibuf, int ibsize)
function Gif_do_color_table (line 739) | static inline size_t
function Gif_get_descriptor (line 757) | static size_t Gif_get_descriptor(DilloGif *gif, void *Buf,
function Gif_do_img_desc (line 794) | static size_t Gif_do_img_desc(DilloGif *gif, void *Buf,
function GIF_Block (line 885) | static size_t GIF_Block(DilloGif * gif, void *Buf,
function Gif_process_bytes (line 963) | static size_t Gif_process_bytes(DilloGif *gif, const uchar_t *ibuf,
function a_Gif_callback (line 1024) | void a_Gif_callback() { return; }
FILE: src/history.c
type H_Item (line 21) | typedef struct {
function History_show (line 36) | void History_show()
function a_History_add_url (line 50) | int a_History_add_url(DilloUrl *url)
function DilloUrl (line 80) | const DilloUrl *a_History_get_url(int idx)
function a_History_set_title_by_url (line 130) | void a_History_set_title_by_url(const DilloUrl *url, const char *title)
function a_History_freeall (line 152) | void a_History_freeall()
FILE: src/hsts.c
type HstsData_t (line 32) | typedef struct {
function Hsts_free_policy (line 44) | static void Hsts_free_policy(HstsData_t *p)
function a_Hsts_freeall (line 50) | void a_Hsts_freeall()
function Domain_node_domain_str_cmp (line 67) | static int Domain_node_domain_str_cmp(const void *v1, const void *v2)
function HstsData_t (line 75) | static HstsData_t *Hsts_get_policy(const char *host)
function Hsts_remove_policy (line 80) | static void Hsts_remove_policy(HstsData_t *policy)
function time_t (line 92) | static time_t Hsts_future_time(long seconds_from_now)
function Domain_node_cmp (line 112) | static int Domain_node_cmp(const void *v1, const void *v2)
function Hsts_set_policy (line 119) | static void Hsts_set_policy(const char *host, long max_age, bool_t subdo...
function Hsts_eat_value (line 187) | static void Hsts_eat_value(const char **str)
function a_Hsts_set (line 196) | void a_Hsts_set(const char *header, const DilloUrl *url)
function bool_t (line 255) | static bool_t Hsts_expired(HstsData_t *policy)
function bool_t (line 266) | bool_t a_Hsts_require_https(const char *host)
function Hsts_preload (line 304) | static void Hsts_preload(FILE *stream)
function a_Hsts_init (line 352) | void a_Hsts_init(FILE *preload_file)
FILE: src/html.cc
class DilloHtml (line 71) | class DilloHtml
function DilloUrl (line 176) | DilloUrl *a_Html_url_new(DilloHtml *html,
function Html_free (line 218) | static void Html_free(void *data)
function a_Html_load_images (line 226) | void a_Html_load_images(void *v_html, DilloUrl *pattern)
function Html_contains_form (line 236) | static bool Html_contains_form(DilloHtml *html, void *v_form)
function a_Html_form_submit (line 249) | void a_Html_form_submit(void *v_html, void *v_form)
function a_Html_form_reset (line 262) | void a_Html_form_reset(void *v_html, void *v_form)
function a_Html_form_display_hiddens (line 275) | void a_Html_form_display_hiddens(void *v_html, void *v_form, bool_t disp...
function Html_set_link_coordinates (line 288) | static void Html_set_link_coordinates(DilloHtml *html, int link, int x, ...
function Html_set_new_link (line 302) | static int Html_set_new_link(DilloHtml *html, DilloUrl **url)
function a_Html_tag_set_align_attr (line 314) | void a_Html_tag_set_align_attr(DilloHtml *html, const char *tag, int tag...
function a_Html_tag_set_valign_attr (line 359) | bool a_Html_tag_set_valign_attr(DilloHtml *html, const char *tag, int ta...
function Html_add_textblock (line 389) | static void Html_add_textblock(DilloHtml *html, bool addBreaks, int brea...
function Html_must_add_breaks (line 420) | static bool Html_must_add_breaks(DilloHtml *html)
function DilloHtmlForm (line 703) | DilloHtmlForm *DilloHtml::getCurrentForm ()
function bool_t (line 708) | bool_t DilloHtml::unloadedImages()
function a_Html_stash_init (line 862) | void a_Html_stash_init(DilloHtml *html)
function Html_ms_stupid_quotes_2ucs (line 875) | static int Html_ms_stupid_quotes_2ucs(int codepoint)
function Html_charref_comp (line 977) | static int Html_charref_comp(const void *a, const void *b)
function Charref_t (line 985) | static Charref_t *Html_charref_search(char *key)
function Html_process_space_pre_line (line 1127) | static void Html_process_space_pre_line(DilloHtml *html, const char *space,
function Html_process_space (line 1149) | static void Html_process_space(DilloHtml *html, const char *space,
function Html_process_word (line 1235) | static void Html_process_word(DilloHtml *html, const char *word, int size)
function Html_match_tag (line 1337) | static bool Html_match_tag(const char *tagstr, char *tag, int tagsize)
function Html_eventually_pop_dw (line 1355) | static void Html_eventually_pop_dw(DilloHtml *html, bool hand_over_break)
function Html_push_tag (line 1368) | static void Html_push_tag(DilloHtml *html, int tag_idx)
function Html_force_push_tag (line 1385) | static void Html_force_push_tag(DilloHtml *html, int tag_idx)
function Html_real_pop_tag (line 1394) | static void Html_real_pop_tag(DilloHtml *html)
function CssLength (line 1413) | static CssLength Html_parse_length_or_multi_length (const char *attr,
function CssLength (line 1452) | CssLength a_Html_parse_length (DilloHtml *html, const char *attr)
function a_Html_color_parse (line 1477) | int32_t a_Html_color_parse(DilloHtml *html, const char *str,
function Html_check_name_val (line 1494) | static int
function Html_parse_doctype (line 1539) | static void Html_parse_doctype(DilloHtml *html, const char *tag, int tag...
function Html_tag_open_html (line 1625) | static void Html_tag_open_html(DilloHtml *html, const char *tag, int tag...
function Html_tag_close_html (line 1644) | static void Html_tag_close_html(DilloHtml *html)
function Html_tag_open_head (line 1656) | static void Html_tag_open_head(DilloHtml *html, const char *tag, int tag...
function Html_tag_close_head (line 1681) | static void Html_tag_close_head(DilloHtml *html)
function Html_tag_open_title (line 1707) | static void Html_tag_open_title(DilloHtml *html, const char *tag, int ta...
function Html_tag_close_title (line 1727) | static void Html_tag_close_title(DilloHtml *html)
function Html_tag_open_script (line 1741) | static void Html_tag_open_script(DilloHtml *html, const char *tag, int t...
function Html_tag_close_script (line 1750) | static void Html_tag_close_script(DilloHtml *html)
function Html_tag_open_style (line 1759) | static void Html_tag_open_style(DilloHtml *html, const char *tag, int ta...
function Html_tag_close_style (line 1788) | static void Html_tag_close_style(DilloHtml *html)
function Html_tag_open_body (line 1798) | static void Html_tag_open_body(DilloHtml *html, const char *tag, int tag...
function Html_tag_close_body (line 1904) | static void Html_tag_close_body(DilloHtml *html)
function Html_tag_open_p (line 1918) | static void Html_tag_open_p(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_frame (line 1930) | static void Html_tag_open_frame (DilloHtml *html, const char *tag, int t...
function Html_tag_content_frame (line 1954) | static void
function Html_tag_content_frameset (line 2000) | static void Html_tag_content_frameset (DilloHtml *html,
function Html_tag_open_h (line 2011) | static void Html_tag_open_h(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_content_br (line 2023) | static void Html_tag_content_br(DilloHtml *html, const char *tag, int ta...
function Html_tag_open_font (line 2031) | static void Html_tag_open_font(DilloHtml *html, const char *tag, int tag...
function Html_tag_open_abbr (line 2061) | static void Html_tag_open_abbr(DilloHtml *html, const char *tag, int tag...
function a_Html_common_image_attrs (line 2078) | void a_Html_common_image_attrs(DilloHtml *html, const char *tag, int tag...
function DilloImage (line 2148) | DilloImage *a_Html_image_new(DilloHtml *html, const char *tag, int tagsize)
function Html_load_image (line 2200) | static bool Html_load_image(BrowserWindow *bw, DilloUrl *url,
function Html_tag_open_img (line 2218) | static void Html_tag_open_img(DilloHtml *html, const char *tag, int tags...
function Html_tag_content_img (line 2281) | static void Html_tag_content_img(DilloHtml *html, const char *tag, int t...
function Html_tag_content_map (line 2327) | static void Html_tag_content_map(DilloHtml *html, const char *tag, int t...
function Html_tag_close_map (line 2352) | static void Html_tag_close_map(DilloHtml *html)
function Html_tag_content_area (line 2407) | static void
function Html_tag_open_object (line 2486) | static void Html_tag_open_object(DilloHtml *html, const char *tag, int t...
function Html_tag_content_object (line 2512) | static void Html_tag_content_object(DilloHtml *html, const char *tag,
function Html_tag_open_video (line 2523) | static void Html_tag_open_video(DilloHtml *html, const char *tag, int ta...
function Html_tag_open_audio (line 2556) | static void Html_tag_open_audio(DilloHtml *html, const char *tag, int ta...
function Html_tag_open_source (line 2588) | static void Html_tag_open_source(DilloHtml *html, const char *tag,
function Html_tag_content_source (line 2616) | static void Html_tag_content_source(DilloHtml *html, const char *tag,
function Html_tag_close_media (line 2639) | static void Html_tag_close_media(DilloHtml *html)
function Html_tag_open_embed (line 2648) | static void Html_tag_open_embed(DilloHtml *html, const char *tag, int ta...
function Html_tag_content_embed (line 2668) | static void Html_tag_content_embed(DilloHtml *html,const char *tag,int t...
function Html_add_anchor (line 2700) | static void Html_add_anchor(DilloHtml *html, const char *name)
function Html_tag_open_a (line 2719) | static void Html_tag_open_a(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_close_a (line 2789) | static void Html_tag_close_a(DilloHtml *html)
function Html_tag_open_blockquote (line 2798) | static void Html_tag_open_blockquote(DilloHtml *html,
function Html_tag_open_q (line 2807) | static void Html_tag_open_q(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_content_q (line 2812) | static void Html_tag_content_q(DilloHtml *html, const char *tag, int tag...
function Html_tag_close_q (line 2826) | static void Html_tag_close_q(DilloHtml *html)
function Html_tag_open_ul (line 2837) | static void Html_tag_open_ul(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_dir (line 2870) | static void Html_tag_open_dir(DilloHtml *html, const char *tag, int tags...
function Html_tag_open_menu (line 2886) | static void Html_tag_open_menu(DilloHtml *html, const char *tag, int tag...
function Html_tag_open_ol (line 2903) | static void Html_tag_open_ol(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_li (line 2940) | static void Html_tag_open_li(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_close_li (line 2972) | static void Html_tag_close_li(DilloHtml *html)
function Html_tag_open_hr (line 2981) | static void Html_tag_open_hr(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_content_hr (line 3039) | static void Html_tag_content_hr(DilloHtml *html, const char *tag, int ta...
function Html_tag_open_dl (line 3053) | static void Html_tag_open_dl(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_dt (line 3063) | static void Html_tag_open_dt(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_dd (line 3072) | static void Html_tag_open_dd(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_pre (line 3080) | static void Html_tag_open_pre(DilloHtml *html, const char *tag, int tags...
function Html_tag_close_pre (line 3091) | static void Html_tag_close_pre(DilloHtml *html)
function Html_tag_pre_excludes (line 3100) | static int Html_tag_pre_excludes(DilloHtml *html, int tag_idx)
function Html_update_content_type (line 3123) | static void Html_update_content_type(DilloHtml *html, const char *content)
function Html_tag_open_meta (line 3149) | static void Html_tag_open_meta(DilloHtml *html, const char *tag, int tag...
function Html_css_load_callback (line 3253) | static void Html_css_load_callback(int Op, CacheClient_t *Client)
function a_Html_load_stylesheet (line 3267) | void a_Html_load_stylesheet(DilloHtml *html, DilloUrl *url)
function Html_tag_open_link (line 3319) | static void Html_tag_open_link(DilloHtml *html, const char *tag, int tag...
function Html_tag_open_base (line 3369) | static void Html_tag_open_base(DilloHtml *html, const char *tag, int tag...
function Html_tag_open_default (line 3398) | static void Html_tag_open_default(DilloHtml *html,const char *tag,int ta...
function Html_tag_open_span (line 3406) | static void Html_tag_open_span(DilloHtml *html, const char *tag, int tag...
function Html_tag_open_sectioning (line 3423) | static void Html_tag_open_sectioning(DilloHtml *html, const char *tag,
function Html_tag_open_div (line 3439) | static void Html_tag_open_div(DilloHtml *html, const char *tag, int tags...
function Html_tag_close_par (line 3448) | static void Html_tag_close_par(DilloHtml *html)
function Html_tag_content_wbr (line 3456) | static void Html_tag_content_wbr(DilloHtml *html, const char *tag, int t...
function Html_tag_compare (line 3608) | static int Html_tag_compare(const char *p1, const char *p2)
function a_Html_tag_index (line 3623) | int a_Html_tag_index(const char *tag)
function Html_triggers_optional_close (line 3650) | static int Html_triggers_optional_close(int old_idx, int cur_idx)
function Html_forbids_cross_nesting (line 3689) | static inline int Html_forbids_cross_nesting(const int InFlags,
function Html_tag_cleanup_to_idx (line 3708) | static void Html_tag_cleanup_to_idx(DilloHtml *html, int s_idx,
function Html_stack_cleanup_at_open (line 3760) | static void Html_stack_cleanup_at_open(DilloHtml *html, int ni)
function Html_tag_cleanup_at_close (line 3810) | static void Html_tag_cleanup_at_close(DilloHtml *html, int new_idx)
function Html_test_section (line 3857) | static void Html_test_section(DilloHtml *html, int new_idx, int IsCloseTag)
function Html_parse_common_attrs (line 3914) | static void Html_parse_common_attrs(DilloHtml *html, char *tag, int tags...
function Html_check_html5_obsolete (line 3968) | static void Html_check_html5_obsolete(DilloHtml *html, int ni)
function Html_display_block (line 3991) | static void Html_display_block(DilloHtml *html)
function Html_display_inline_block (line 3997) | static void Html_display_inline_block(DilloHtml *html)
function Html_display_listitem (line 4002) | static void Html_display_listitem(DilloHtml *html)
function Html_process_tag (line 4040) | static void Html_process_tag(DilloHtml *html, char *tag, int tagsize)
function Rss_process_tag (line 4172) | static void Rss_process_tag(DilloHtml *html, char *tag, int tagsize)
function Html_callback (line 4407) | static void Html_callback(int Op, CacheClient_t *Client)
function Html_write_raw (line 4423) | static int Html_write_raw(DilloHtml *html, char *buf, int bufsize, int Eof,
function Gemini_write_raw (line 4579) | static int Gemini_write_raw(DilloHtml *html, char *buf, int bufsize, int...
function Gopher_write_raw (line 4823) | static int Gopher_write_raw(DilloHtml *html, char *buf, int bufsize, int...
function validate_md_link (line 5079) | static int validate_md_link(const char *buf, int bufsize) {
function Markdown_write_raw (line 5114) | static int Markdown_write_raw(DilloHtml *html, char *buf, int bufsize, i...
FILE: src/html_charrefs.h
type Charref_t (line 4) | typedef struct {
FILE: src/html_common.hh
class DilloHtml (line 132) | class DilloHtml {
class HtmlLinkReceiver (line 134) | class HtmlLinkReceiver: public dw::core::Layout::LinkReceiver {
method startElement (line 234) | inline void startElement (int tag)
method startElement (line 236) | inline void startElement (const char *tagname)
method restyle (line 246) | inline void restyle () { styleEngine->restyle (bw); }
FILE: src/image.cc
function DilloImage (line 33) | DilloImage *a_Image_new(void *layout, void *img_rndr, int32_t bg_color)
function DilloImage (line 55) | DilloImage *a_Image_new_with_dw(void *layout, const char *alt_text,
function Image_free (line 75) | static void Image_free(DilloImage *Image)
function a_Image_unref (line 85) | void a_Image_unref(DilloImage *Image)
function a_Image_ref (line 96) | void a_Image_ref(DilloImage *Image)
function a_Image_set_parms (line 105) | void a_Image_set_parms(DilloImage *Image, void *v_imgbuf, DilloUrl *url,
function a_Image_write (line 126) | void a_Image_write(DilloImage *Image, uint_t y)
function a_Image_close (line 140) | void a_Image_close(DilloImage *Image)
function a_Image_abort (line 149) | void a_Image_abort(DilloImage *Image)
FILE: src/image.hh
type _DilloImage (line 26) | struct _DilloImage
type _DilloImage (line 46) | struct _DilloImage {
FILE: src/imgbuf.cc
function uchar_t (line 29) | static uchar_t *Imgbuf_rgb_line(const uchar_t *buf,
function a_Imgbuf_ref (line 76) | void a_Imgbuf_ref(void *v_imgbuf)
function a_Imgbuf_unref (line 84) | void a_Imgbuf_unref(void *v_imgbuf)
function a_Imgbuf_last_reference (line 113) | int a_Imgbuf_last_reference(void *v_imgbuf)
function a_Imgbuf_update (line 121) | void a_Imgbuf_update(void *v_imgbuf, const uchar_t *buf, DilloImgType type,
function a_Imgbuf_new_scan (line 135) | void a_Imgbuf_new_scan(void *v_imgbuf)
FILE: src/jpeg.c
type DilloJpegState (line 39) | typedef enum {
type DilloJpeg (line 49) | typedef struct DilloJpeg DilloJpeg;
type my_source_mgr (line 53) | typedef struct {
type my_error_mgr (line 58) | struct my_error_mgr {
type my_error_mgr (line 62) | struct my_error_mgr
type DilloJpeg (line 64) | struct DilloJpeg {
function Jpeg_errorexit (line 88) | METHODDEF(void) Jpeg_errorexit (j_common_ptr cinfo)
function Jpeg_free (line 104) | static void Jpeg_free(DilloJpeg *jpeg)
function Jpeg_close (line 114) | static void Jpeg_close(DilloJpeg *jpeg, CacheClient_t *Client)
function init_source (line 126) | static void init_source()
function skip_input_data (line 157) | static void skip_input_data(j_decompress_ptr cinfo, long num_bytes)
function term_source (line 183) | static void term_source()
function a_Jpeg_callback (line 224) | void a_Jpeg_callback(int Op, void *data)
function Jpeg_write (line 240) | static void Jpeg_write(DilloJpeg *jpeg, void *Buf, uint_t BufSize)
function a_Jpeg_callback (line 409) | void a_Jpeg_callback() { return; }
FILE: src/keys.cc
function KeysCommand_t (line 196) | KeysCommand_t Keys::getKeyCmd()
function KeysCommand_t (line 263) | KeysCommand_t Keys::getCmdCode(const char *commandName)
FILE: src/keys.hh
class Keys (line 53) | class Keys {
FILE: src/klist.c
function Klist_node_by_key_cmp (line 27) | static int Klist_node_by_key_cmp(const void *Node, const void *key)
function Klist_node_by_node_cmp (line 35) | static int Klist_node_by_node_cmp(const void *Node1, const void *Node2)
function a_Klist_insert (line 56) | int a_Klist_insert(Klist_t **Klist, void *Data)
function a_Klist_remove (line 86) | void a_Klist_remove(Klist_t *Klist, int Key)
function a_Klist_length (line 102) | int a_Klist_length(Klist_t *Klist)
function a_Klist_free (line 110) | void a_Klist_free(Klist_t **KlistPtr)
FILE: src/klist.h
type KlistNode_t (line 11) | typedef struct {
type Klist_t (line 16) | typedef struct {
FILE: src/md5.c
function md5_process (line 140) | static void
function md5_init (line 321) | void
function md5_append (line 331) | void
function md5_finish (line 369) | void
FILE: src/md5.h
type md5_byte_t (line 72) | typedef unsigned char md5_byte_t;
type md5_word_t (line 73) | typedef unsigned int md5_word_t;
type md5_state_t (line 76) | typedef struct md5_state_s {
FILE: src/menu.cc
function Menu_nop_cb (line 56) | static void Menu_nop_cb(Fl_Widget*, void*)
function filemenu_cb (line 63) | static void filemenu_cb(Fl_Widget*, void *data)
function Menu_copy_urlstr_cb (line 81) | static void Menu_copy_urlstr_cb(Fl_Widget*, void *user_data)
function Menu_open_url_cb (line 92) | static void Menu_open_url_cb(Fl_Widget*, void *user_data)
function Menu_open_url_nw_cb (line 102) | static void Menu_open_url_nw_cb(Fl_Widget*, void *user_data)
function Menu_open_url_mp_cb (line 112) | static void Menu_open_url_mp_cb(Fl_Widget*, void *user_data)
function Menu_open_url_nt_cb (line 145) | static void Menu_open_url_nt_cb(Fl_Widget*, void *user_data)
function Menu_add_bookmark_cb (line 156) | static void Menu_add_bookmark_cb(Fl_Widget*, void *user_data)
function Menu_find_text_cb (line 165) | static void Menu_find_text_cb(Fl_Widget*, void*)
function Menu_save_link_cb (line 173) | static void Menu_save_link_cb(Fl_Widget*, void *user_data)
function Menu_save_page_cb (line 182) | static void Menu_save_page_cb(Fl_Widget*, void*)
function Menu_view_page_source_cb (line 190) | static void Menu_view_page_source_cb(Fl_Widget*, void *user_data)
function Menu_view_page_bugs_cb (line 199) | static void Menu_view_page_bugs_cb(Fl_Widget*, void*)
function Menu_load_images_cb (line 207) | static void Menu_load_images_cb(Fl_Widget*, void *user_data)
function Menu_form_submit_cb (line 219) | static void Menu_form_submit_cb(Fl_Widget*, void*)
function Menu_form_reset_cb (line 230) | static void Menu_form_reset_cb(Fl_Widget*, void*)
function Menu_form_hiddens_cb (line 241) | static void Menu_form_hiddens_cb(Fl_Widget*, void *user_data)
function Menu_stylesheet_cb (line 250) | static void Menu_stylesheet_cb(Fl_Widget*, void *vUrl)
function Menu_bugmeter_validate (line 268) | static void Menu_bugmeter_validate(const char *validator_url)
function Menu_bugmeter_validate_w3c_cb (line 290) | static void Menu_bugmeter_validate_w3c_cb(Fl_Widget*, void*)
function Menu_bugmeter_validate_wdg_cb (line 298) | static void Menu_bugmeter_validate_wdg_cb(Fl_Widget*, void*)
function Menu_bugmeter_about_cb (line 307) | static void Menu_bugmeter_about_cb(Fl_Widget*, void*)
function Menu_history_cb (line 316) | static void Menu_history_cb(Fl_Widget*, void *data)
function Menu_simple_popup_cb (line 342) | static void Menu_simple_popup_cb(void *data)
function Menu_popup_cb (line 355) | static void Menu_popup_cb(void *data)
function a_Menu_page_popup (line 374) | void a_Menu_page_popup(BrowserWindow *bw, const DilloUrl *url,
function Menu_set_link_menu_user_data (line 465) | static void Menu_set_link_menu_user_data(void *user_data)
function a_Menu_link_popup (line 476) | void a_Menu_link_popup(BrowserWindow *bw, const DilloUrl *url)
function a_Menu_image_popup (line 494) | void a_Menu_image_popup(BrowserWindow *bw, const DilloUrl *url,
function a_Menu_form_popup (line 553) | void a_Menu_form_popup(BrowserWindow *bw, const DilloUrl *page_url,
function a_Menu_file_popup (line 581) | void a_Menu_file_popup(BrowserWindow *bw, void *v_wid)
function a_Menu_bugmeter_popup (line 614) | void a_Menu_bugmeter_popup(BrowserWindow *bw, const DilloUrl *url)
function a_Menu_history_popup (line 638) | void a_Menu_history_popup(BrowserWindow *bw, int x, int y, int direction)
function Menu_use_cookies_cb (line 673) | static void Menu_use_cookies_cb(Fl_Widget *wid, void*)
function Menu_remote_css_cb (line 685) | static void Menu_remote_css_cb(Fl_Widget *wid, void*)
function Menu_embedded_css_cb (line 697) | static void Menu_embedded_css_cb(Fl_Widget *wid, void*)
function Menu_reader_mode_css_cb (line 709) | static void Menu_reader_mode_css_cb(Fl_Widget *wid, void*)
function Menu_panel_change_cb (line 718) | static void Menu_panel_change_cb(Fl_Widget*, void *user_data)
function Menu_imgload_toggle_cb (line 731) | static void Menu_imgload_toggle_cb(Fl_Widget *wid, void*)
function Menu_bgimg_load_toggle_cb (line 750) | static void Menu_bgimg_load_toggle_cb(Fl_Widget *wid, void*)
function a_Menu_tools_popup (line 762) | void a_Menu_tools_popup(BrowserWindow *bw, int x, int y)
FILE: src/misc.c
function a_Misc_expand_tabs (line 53) | int
type ContentType_t (line 100) | typedef struct {
type DetectedContentType (line 116) | typedef enum {
function a_Misc_get_content_type_from_data (line 136) | int a_Misc_get_content_type_from_data(void *Data, size_t Size, const cha...
function a_Misc_parse_content_type (line 210) | void a_Misc_parse_content_type(const char *type, char **major, char **mi...
function a_Misc_content_type_cmp (line 274) | int a_Misc_content_type_cmp(const char *ct1, const char *ct2)
function a_Misc_content_type_check (line 321) | int a_Misc_content_type_check(const char *EntryType, const char *Detecte...
function a_Misc_parse_geometry (line 360) | int a_Misc_parse_geometry(char *str, int *x, int *y, int *w, int *h)
function a_Misc_parse_search_url (line 391) | int a_Misc_parse_search_url(char *source, char **label, char **urlstr)
function Dstr (line 464) | Dstr *a_Misc_file2dstr(const char *filename)
FILE: src/nav.c
type nav_stack_item (line 30) | typedef struct {
function a_Nav_free (line 42) | void a_Nav_free(BrowserWindow *bw)
function a_Nav_stack_ptr (line 54) | int a_Nav_stack_ptr(BrowserWindow *bw)
function a_Nav_get_uidx (line 62) | int a_Nav_get_uidx(BrowserWindow *bw, int i)
function a_Nav_get_top_uidx (line 71) | int a_Nav_get_top_uidx(BrowserWindow *bw)
function Nav_stack_move_ptr (line 82) | static void Nav_stack_move_ptr(BrowserWindow *bw, int offset)
function a_Nav_stack_size (line 97) | int a_Nav_stack_size(BrowserWindow *bw)
function Nav_stack_truncate (line 105) | static void Nav_stack_truncate(BrowserWindow *bw, int pos)
function Nav_stack_append (line 121) | static void Nav_stack_append(BrowserWindow *bw, int url_idx)
function Nav_get_scroll_pos (line 138) | static void Nav_get_scroll_pos(BrowserWindow *bw, int *posx, int *posy)
function Nav_save_scroll_pos (line 153) | static void Nav_save_scroll_pos(BrowserWindow *bw, int idx, int posx, in...
function Nav_stack_clean (line 167) | static void Nav_stack_clean(BrowserWindow *bw)
function Nav_open_url (line 192) | static void Nav_open_url(BrowserWindow *bw, const DilloUrl *url,
function a_Nav_cancel_expect (line 246) | void a_Nav_cancel_expect(BrowserWindow *bw)
function a_Nav_cancel_expect_if_eq (line 259) | void a_Nav_cancel_expect_if_eq(BrowserWindow *bw, const DilloUrl *url)
function a_Nav_expect_done (line 271) | void a_Nav_expect_done(BrowserWindow *bw)
function a_Nav_push (line 341) | void a_Nav_push(BrowserWindow *bw, const DilloUrl *url,
function Nav_repush (line 362) | static void Nav_repush(BrowserWindow *bw)
function Nav_repush_callback (line 377) | static void Nav_repush_callback(void *data)
function a_Nav_repush (line 392) | void a_Nav_repush(BrowserWindow *bw)
function Nav_redirection0_callback (line 402) | static void Nav_redirection0_callback(void *data)
function a_Nav_redirection0 (line 421) | void a_Nav_redirection0(BrowserWindow *bw, const DilloUrl *new_url)
function a_Nav_back (line 437) | void a_Nav_back(BrowserWindow *bw)
function a_Nav_forw (line 451) | void a_Nav_forw(BrowserWindow *bw)
function a_Nav_home (line 465) | void a_Nav_home(BrowserWindow *bw)
function Nav_reload_callback (line 473) | static void Nav_reload_callback(void *data)
function a_Nav_reload (line 515) | void a_Nav_reload(BrowserWindow *bw)
function a_Nav_jump (line 524) | void a_Nav_jump(BrowserWindow *bw, int offset, int new_bw)
function Nav_save_cb (line 543) | static void Nav_save_cb(int Op, CacheClient_t *Client)
function a_Nav_save_url (line 566) | void a_Nav_save_url(BrowserWindow *bw,
function a_Nav_get_buf (line 579) | int a_Nav_get_buf(const DilloUrl *Url, char **PBuf, int *BufSize)
function a_Nav_unref_buf (line 587) | void a_Nav_unref_buf(const DilloUrl *Url)
function a_Nav_set_vsource_url (line 603) | void a_Nav_set_vsource_url(const DilloUrl *Url)
FILE: src/paths.cc
type stat (line 36) | struct stat
function FILE (line 82) | FILE *Paths::getPrefsFP(const char *rcFile)
FILE: src/paths.hh
class Paths (line 23) | class Paths {
FILE: src/plain.cc
class DilloPlain (line 36) | class DilloPlain {
class PlainLinkReceiver (line 38) | class PlainLinkReceiver: public dw::core::Layout::LinkReceiver {
function a_Plain_free (line 214) | void a_Plain_free(void *data)
function Plain_callback (line 223) | static void Plain_callback(int Op, CacheClient_t *Client)
FILE: src/png.c
type prog_state (line 29) | enum prog_state {
type DilloPng (line 61) | typedef struct {
function Png_error_handling (line 101) | static
function Png_datainfo_callback (line 115) | static void
function Png_datarow_callback (line 211) | static void
function Png_dataend_callback (line 283) | static void Png_dataend_callback(png_structp png_ptr, png_infop info_ptr)
function Png_free (line 298) | static void Png_free(DilloPng *png)
function Png_close (line 315) | static void Png_close(DilloPng *png, CacheClient_t *Client)
function Png_write (line 326) | static void Png_write(DilloPng *png, void *Buf, uint_t BufSize)
function a_Png_callback (line 414) | void a_Png_callback(int Op, void *data)
function a_Png_callback (line 455) | void a_Png_callback() { return; }
FILE: src/prefs.c
function a_Prefs_init (line 38) | void a_Prefs_init(void)
function a_Prefs_freeall (line 135) | void a_Prefs_freeall(void)
FILE: src/prefs.h
type DilloPrefs (line 36) | typedef struct {
FILE: src/prefsparser.cc
function parseOption (line 48) | static int parseOption(char *name, char *value,
FILE: src/prefsparser.hh
class PrefsParser (line 16) | class PrefsParser {
FILE: src/styleengine.cc
class StyleImageDeletionReceiver (line 32) | class StyleImageDeletionReceiver:
function Style (line 873) | Style * StyleEngine::backgroundStyle (BrowserWindow *bw) {
function Style (line 892) | Style * StyleEngine::style0 (int i, BrowserWindow *bw) {
function Style (line 929) | Style * StyleEngine::wordStyle0 (BrowserWindow *bw) {
FILE: src/styleengine.hh
class StyleEngine (line 4) | class StyleEngine
type Node (line 22) | struct Node {
method setNonCssHint (line 48) | inline void setNonCssHint(CssPropertyName name, CssValueType type,
method setNonCssHint (line 87) | inline void setNonCssHint(CssPropertyName name, CssValueType type,
method setNonCssHint (line 93) | inline void setNonCssHint(CssPropertyName name, CssValueType type,
class StyleEngine (line 20) | class StyleEngine {
type Node (line 22) | struct Node {
method setNonCssHint (line 48) | inline void setNonCssHint(CssPropertyName name, CssValueType type,
method setNonCssHint (line 87) | inline void setNonCssHint(CssPropertyName name, CssValueType type,
method setNonCssHint (line 93) | inline void setNonCssHint(CssPropertyName name, CssValueType type,
FILE: src/table.cc
function Html_tag_open_table (line 41) | void Html_tag_open_table(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_content_table (line 155) | void Html_tag_content_table(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_tr (line 174) | void Html_tag_open_tr(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_content_tr (line 217) | void Html_tag_content_tr(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_td (line 236) | void Html_tag_open_td(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_content_td (line 242) | void Html_tag_content_td(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_tbody (line 250) | void Html_tag_open_tbody(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_content_tbody (line 254) | void Html_tag_content_tbody(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_tfoot (line 261) | void Html_tag_open_tfoot(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_thead (line 268) | void Html_tag_open_thead(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_open_th (line 275) | void Html_tag_open_th(DilloHtml *html, const char *tag, int tagsize)
function Html_tag_content_th (line 281) | void Html_tag_content_th(DilloHtml *html, const char *tag, int tagsize)
function Html_table_get_border_model (line 293) | static int Html_table_get_border_model(DilloHtml *html)
function Html_table_set_border_model (line 308) | static void Html_table_set_border_model(DilloHtml *html,
function Html_set_collapsing_border_model (line 324) | static void Html_set_collapsing_border_model(DilloHtml *html, Widget *co...
function Html_set_separate_border_model (line 368) | static void Html_set_separate_border_model(DilloHtml *html, Widget *col_tb)
function Html_tag_open_table_cell (line 383) | static void Html_tag_open_table_cell(DilloHtml *html,
function Html_tag_content_table_cell (line 443) | static void Html_tag_content_table_cell(DilloHtml *html,
FILE: src/table.hh
class DilloHtml (line 8) | class DilloHtml
FILE: src/timeout.cc
function a_Timeout_add (line 23) | void a_Timeout_add(float t, TimeoutCb_t cb, void *cbdata)
function a_Timeout_repeat (line 31) | void a_Timeout_repeat(float t, TimeoutCb_t cb, void *cbdata)
function a_Timeout_remove (line 39) | void a_Timeout_remove()
FILE: src/tipwin.cc
function TipWin (line 94) | TipWin *my_tipwin(void)
function show_timeout (line 107) | static void show_timeout(void*) {
function recent_timeout (line 121) | static void recent_timeout(void*) {
FILE: src/tipwin.hh
class TipWin (line 12) | class TipWin : public Fl_Menu_Window {
method cancel (line 24) | void cancel(void *wid) {
class TipWinButton (line 35) | class TipWinButton : public Fl_Button {
class CustButton (line 49) | class CustButton : public TipWinButton {
class TipWinInput (line 61) | class TipWinInput : public Fl_Input {
FILE: src/ui.cc
type iconset (line 36) | struct iconset {
type iconset (line 43) | struct iconset
type iconset (line 62) | struct iconset
type iconset (line 82) | struct iconset
class CustInput (line 93) | class CustInput : public TipWinInput {
method CustInput (line 95) | CustInput (int x, int y, int w, int h, const char* l=0) :
class CustPasteButton (line 171) | class CustPasteButton : public CustButton {
method CustPasteButton (line 173) | CustPasteButton(int x, int y, int w, int h, const char *l=0) :
class CustProgressBox (line 196) | class CustProgressBox : public Fl_Box {
method CustProgressBox (line 199) | CustProgressBox(int x, int y, int w, int h, const char *l=0) :
method update_label (line 201) | void update_label(const char *lbl) {
function search_cb (line 228) | static void search_cb(Fl_Widget *wid, void *data)
function help_cb (line 240) | static void help_cb(Fl_Widget *w, void *)
function filemenu_cb (line 260) | static void filemenu_cb(Fl_Widget *wid, void *)
function clear_cb (line 271) | static void clear_cb(Fl_Widget *w, void *data)
function location_cb (line 287) | static void location_cb(Fl_Widget *wid, void *data)
function b1_cb (line 303) | static void b1_cb(Fl_Widget *wid, void *cb_data)
function bugmeter_cb (line 372) | static void bugmeter_cb(Fl_Widget *wid, void *data)
function CustButton (line 393) | CustButton *UI::make_button(const char *label, Fl_Image *img, Fl_Image *...
FILE: src/ui.hh
class CustProgressBox (line 42) | class CustProgressBox
class CustTabs (line 43) | class CustTabs
class CustGroupHorizontal (line 52) | class CustGroupHorizontal : public Fl_Group {
method CustGroupHorizontal (line 55) | CustGroupHorizontal(int x,int y,int w ,int h,const char *l = 0) :
method rearrange (line 58) | void rearrange() {
class CustGroupVertical (line 92) | class CustGroupVertical : public Fl_Group {
method CustGroupVertical (line 94) | CustGroupVertical(int x,int y,int w ,int h,const char *l = 0) :
method rearrange (line 97) | void rearrange() {
class UI (line 124) | class UI : public CustGroupVertical {
method get_panelsize (line 174) | int get_panelsize() { return PanelSize; }
method get_smallicons (line 175) | int get_smallicons() { return Small_Icons; }
method CustTabs (line 180) | CustTabs *tabs() { return Tabs; }
method tabs (line 181) | void tabs(CustTabs *tabs) { Tabs = tabs; }
method temporaryPanels (line 182) | bool temporaryPanels() { return PanelTemporary; }
method temporaryPanels (line 183) | void temporaryPanels(bool val) { PanelTemporary = val; }
FILE: src/uicmd.cc
class CustTabButton (line 85) | class CustTabButton : public Fl_Button {
method CustTabButton (line 90) | CustTabButton (int x,int y,int w,int h, const char* label = 0) :
method ui (line 92) | void ui(UI *pui) { ui_ = pui; }
method UI (line 93) | UI *ui(void) { return ui_; }
method focus_num (line 94) | void focus_num(uint_t fn) { focus_num_ = fn; }
method uint_t (line 95) | uint_t focus_num(void) { return focus_num_; }
function btn_cmp (line 98) | static int btn_cmp(const void *p1, const void *p2)
class CustTabs (line 107) | class CustTabs : public Fl_Group {
method resize (line 117) | void resize(int x, int y, int w, int h)
method increase_focus_counter (line 120) | void increase_focus_counter() {
method CustTabs (line 137) | CustTabs (int ww, int wh, int th, const char *lbl=0) :
method Fl_Wizard (line 176) | Fl_Wizard *wizard(void) { return Wizard; }
method num_tabs (line 177) | int num_tabs() { return (Pack ? Pack->children() : 0); }
function tab_btn_cb (line 187) | static void tab_btn_cb (Fl_Widget *w, void *cb_data)
function close_tab_btn_cb (line 205) | static void close_tab_btn_cb (Fl_Widget *, void *cb_data)
function UI (line 256) | UI *CustTabs::add_new_tab(UI *old_ui, int focus)
function win_cb (line 493) | static void win_cb (Fl_Widget *w, void *cb_data) {
function BrowserWindow (line 515) | BrowserWindow *a_UIcmd_get_bw_by_widget(void *v_wid)
function BrowserWindow
Condensed preview — 398 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,259K chars).
[
{
"path": "AUTHORS",
"chars": 2363,
"preview": "\n _________________________________________________________________\n\n Dillo project's t"
},
{
"path": "COPYING",
"chars": 35147,
"preview": " GNU GENERAL PUBLIC LICENSE\n Version 3, 29 June 2007\n\n Copyright (C) 2007 Free "
},
{
"path": "ChangeLog",
"chars": 106180,
"preview": "=============================================================================\nDillo project\n============================"
},
{
"path": "Doxyfile",
"chars": 103133,
"preview": "# Doxyfile 1.8.9.1\n\n# This file describes the settings to be used by the documentation system\n# doxygen (www.doxygen.org"
},
{
"path": "Makefile",
"chars": 2705,
"preview": "include Makefile.options\n\nall: config.h\n\t@echo Making all in lout\n\t@(cd lout; make all)\n\t@echo Making all in dw\n\t@(cd dw"
},
{
"path": "Makefile.options",
"chars": 1929,
"preview": "# == SYSTEM BINARIES ==\n\nAR ?= ar\nARFLAGS ?= cru\nRANLIB ?= ranlib\n\nCC ?= gcc\nCXX ?= g++\n\nINSTALL ?= /usr/bin/install\nINS"
},
{
"path": "Makefile.options.Linux",
"chars": 1929,
"preview": "# == SYSTEM BINARIES ==\n\nAR ?= ar\nARFLAGS ?= cru\nRANLIB ?= ranlib\n\nCC ?= gcc\nCXX ?= g++\n\nINSTALL ?= /usr/bin/install\nINS"
},
{
"path": "Makefile.options.Linux.Wayland",
"chars": 1940,
"preview": "# Provided by @XDream8 via patch\n# Source: https://github.com/crossbowerbt/dillo-plus/issues/15\n\n# Still not complete, b"
},
{
"path": "Makefile.options.MacOS",
"chars": 2380,
"preview": "# Provided by Timur Ismagilov (@bouncepaw)\n# Tested for MacBook Air M1 2020 running Big Sur\n\n# Original code:\n# https://"
},
{
"path": "Makefile.options.OpenBSD",
"chars": 1917,
"preview": "# == SYSTEM BINARIES ==\n\nAR ?= ar\nARFLAGS ?= cru\nRANLIB ?= ranlib\n\nCC ?= cc\nCXX ?= c++\n\nINSTALL ?= /usr/bin/install\nINST"
},
{
"path": "NEWS",
"chars": 996,
"preview": "----\nNEWS\n----\n\nNov 2000:\n\n Introduced a new design layer between the IO and the Dw.\n\nMarch 2001:\n\n Finally the new di"
},
{
"path": "README",
"chars": 2227,
"preview": "===================\n Dillo+ web browser\n===================\n\nDillo+ is a multi-platform graphical web browser, known for"
},
{
"path": "README.md",
"chars": 7749,
"preview": "# Overview\n[](screenshots/main.png)\n\n**Dillo+** (Dillo-Plus) is a lightweight (about "
},
{
"path": "bm.txt",
"chars": 0,
"preview": ""
},
{
"path": "config.h",
"chars": 3858,
"preview": "/* config.h. Generated from config.h.in by configure. */\n/* config.h.in. Generated from configure.ac by autoheader. "
},
{
"path": "d_size.h",
"chars": 448,
"preview": "#ifndef __D_SIZE_H__\n#define __D_SIZE_H__\n\n\n#include \"config.h\"\n\n#ifdef HAVE_STDINT_H\n#include <stdint.h>\n#else\n#ifdef H"
},
{
"path": "devdoc/CCCwork.txt",
"chars": 4978,
"preview": "Last review: August 04, 2009 --jcid\n\n\n----------------------------\nInternal working for the CCC\n------------------------"
},
{
"path": "devdoc/Cache.txt",
"chars": 5392,
"preview": " June 2000, --Jcid\n Last update: Jul 09\n\n -------\n CACHE\n "
},
{
"path": "devdoc/Dillo.txt",
"chars": 3608,
"preview": "\"Eliminate the guesswork and quality goes up.\"\n\n\n -------\n DILL"
},
{
"path": "devdoc/Dpid.txt",
"chars": 10321,
"preview": "Aug 2003, Jorge Arellano Cid,\n Ferdi Franceschini --\nLast update: Nov 2009\n\n\n --"
},
{
"path": "devdoc/HtmlParser.txt",
"chars": 3628,
"preview": " October 2001, --Jcid\n Last update: Jul 2009\n\n ---------------\n THE HTML P"
},
{
"path": "devdoc/IO.txt",
"chars": 19680,
"preview": "\nThis is the updated base of a paper I wrote with Horst.\nIt provides a good introduction to Dillo's internals.\n(Highly r"
},
{
"path": "devdoc/Images.txt",
"chars": 4400,
"preview": " January 2009, --Jcid\n\nUpdate June 2015: See also doc/dw-images-and-backgrounds.doc, or\n../html/dw-images-and-background"
},
{
"path": "devdoc/NC_design.txt",
"chars": 4584,
"preview": "\n _________________________________________________________________\n\n Naming&Coding desi"
},
{
"path": "devdoc/README",
"chars": 2067,
"preview": "README: Last update Jul 2009\n\nThese documents cover dillo's internals.\nFor user help, see http://dillo-browser.github.io"
},
{
"path": "devdoc/dw-changes.doc",
"chars": 4041,
"preview": "/** \\page dw-changes Changes to the GTK+-based Release Version\n\n<h2>Changes in Dw</h2>\n\nRelated to the FLTK port, there "
},
{
"path": "devdoc/dw-fixed-positions.doc",
"chars": 2125,
"preview": "/** \\page dw-fixed-positions Fixed positions\n\nIn some cases, widgets or widget content must be positioned relative\nto th"
},
{
"path": "devdoc/dw-grows.doc",
"chars": 9158,
"preview": "/** \\page dw-grows GROWS - Grand Redesign Of Widget Sizes\n\n<div style=\"border: 2px solid #ffff00; margin: 1em 0;\n paddi"
},
{
"path": "devdoc/dw-images-and-backgrounds.doc",
"chars": 8995,
"preview": "/** \\page dw-images-and-backgrounds Images and Backgrounds in Dw\n\nImage Buffers\n=============\n\nRepresentation of the ima"
},
{
"path": "devdoc/dw-interrupted-drawing.doc",
"chars": 3651,
"preview": "/** \\page dw-interrupted-drawing Interrupted drawing\n\nDescribing the problem\n======================\n\nWithout interruptin"
},
{
"path": "devdoc/dw-layout-views.doc",
"chars": 9083,
"preview": "/** \\page dw-layout-views Layout and Views\n\nRendering of Dw is done in a way resembling the model-view pattern, at\nleast"
},
{
"path": "devdoc/dw-layout-widgets.doc",
"chars": 8494,
"preview": "/** \\page dw-layout-widgets Layout and Widgets\n\nBoth, the layouting and the drawing is delegated to a tree of\nwidgets. A"
},
{
"path": "devdoc/dw-line-breaking.doc",
"chars": 19493,
"preview": "/** \\page dw-line-breaking Changes in Line-Breaking and Hyphenation\n\n<div style=\"border: 2px solid #ffff00; margin-botto"
},
{
"path": "devdoc/dw-map.doc",
"chars": 2242,
"preview": "/** \\page dw-map Dillo Widget Documentation Map\n\nThis maps includes special documentations as well as longer comments\nin"
},
{
"path": "devdoc/dw-miscellaneous.doc",
"chars": 3628,
"preview": "/** \\page dw-miscellaneous Miscellaneous Notes on Dw\n\nThis is a barely sorted list of issues which I consider noteworthy"
},
{
"path": "devdoc/dw-out-of-flow-floats.doc",
"chars": 6403,
"preview": "/** \\page dw-out-of-flow-floats Handling Elements Out Of Flow: Floats\n\nTODO: Much missing.\n\n(Historical) Note: Floats ma"
},
{
"path": "devdoc/dw-out-of-flow-positioned.doc",
"chars": 2683,
"preview": "/** \\page dw-out-of-flow-positioned Handling Elements Out Of Flow: Positioned Elements\n\n<div style=\"border: 2px solid #f"
},
{
"path": "devdoc/dw-out-of-flow.doc",
"chars": 4099,
"preview": "/** \\page dw-out-of-flow Handling Elements Out Of Flow\n\nIntroduction\n============\n\nThis texts deals with both floats and"
},
{
"path": "devdoc/dw-overview.doc",
"chars": 5541,
"preview": "/** \\page dw-overview Dillo Widget Overview\n\nNote: If you are already familiar with the Gtk+-based version of Dw,\nread \\"
},
{
"path": "devdoc/dw-size-request-pos-01.html",
"chars": 1127,
"preview": "<p style=\"margin-bottom: 5em\"><i>This is the source of the image\n<a href=\"dw-size-request-pos-01.png\">dw-size-request-po"
},
{
"path": "devdoc/dw-size-request-pos.doc",
"chars": 6974,
"preview": "/** \\page dw-size-request-pos Size requisitions depending on positions\n\n<div style=\"border: 2px solid #ffff00; margin: 1"
},
{
"path": "devdoc/dw-stacking-context.doc",
"chars": 4613,
"preview": "/** \\page dw-stacking-context Handling stacking contexts\n\nStacking Context and dw::core::StackingContextMgr\n============"
},
{
"path": "devdoc/dw-usage.doc",
"chars": 10210,
"preview": "/** \\page dw-usage Dillo Widget Usage\n\nThis document describes the usage of Dw, without going too much into\ndetail.\n\n\n<h"
},
{
"path": "devdoc/dw-widget-sizes.doc",
"chars": 10467,
"preview": "/** \\page dw-widget-sizes Sizes of Dillo Widgets\n\n<div style=\"border: 2px solid #ffff00; margin: 1em 0;\n padding: 0.5em"
},
{
"path": "devdoc/fltk-problems.doc",
"chars": 4276,
"preview": "/** \\page fltk-problems Problems with FLTK\n\n<h2>dw::fltk::FltkViewport</h2>\n\nCurrent problems:\n\n<ul>\n<li> How should dw:"
},
{
"path": "devdoc/index.doc",
"chars": 1402,
"preview": "/** \\mainpage\n\n<h2>Overview</h2>\n\nThis is a list of documents to start with:\n\n<ul>\n<li> \\ref lout\n<li> \\ref dw-overview "
},
{
"path": "devdoc/lout.doc",
"chars": 3131,
"preview": "/** \\page lout Lots of Useful Tools\n\nIn the \"lout\" directory, there are some common base functionality for\nC++. Most is "
},
{
"path": "devdoc/rounding-errors.doc",
"chars": 909,
"preview": "/** \\page rounding-errors How to Avoid Rounding Errors\n\n(Probably, this is a standard algorithm, so if someone knows the"
},
{
"path": "devdoc/uml-legend.doc",
"chars": 4994,
"preview": "/** \\page uml-legend UML Legend\n\nThis page describes the notation for several diagrams used in the\ndocumentation, which "
},
{
"path": "dillo-install-hyphenation",
"chars": 5737,
"preview": "#!/usr/bin/env perl\nuse POSIX;\nuse File::Basename;\nuse Net::FTP;\nuse Getopt::Long;\n\n$host = \"mirrors.dotsrc.org\";\n$bases"
},
{
"path": "dillorc",
"chars": 22222,
"preview": "# dillorc\n# Sample dillo initialization file.\n#\n# Lines that start with a '#' are comments.\n# \"#option=...\" shows the bu"
},
{
"path": "dist/Makefile",
"chars": 325,
"preview": "include ../Makefile.options\n\nall:\n\nclean:\n\ninstall:\n\t$(INSTALL_SH) -c -d \"$(APP_PATH)\"\n\t$(INSTALL_SH) -c -d \"$(ICON_PATH"
},
{
"path": "dist/dillo-plus.desktop",
"chars": 298,
"preview": "[Desktop Entry]\nGenericName=Web Browser\nGenericName[lt]=Web naršyklė\nName=Dillo Plus\nComment=Lightweight browser\nComment"
},
{
"path": "dlib/Makefile",
"chars": 208,
"preview": "include ../Makefile.options\n\nlibDlib.a: dlib.o\n\t$(AR) $(ARFLAGS) libDlib.a dlib.o\n\t$(RANLIB) libDlib.a\n\ndlib.o: dlib.h d"
},
{
"path": "dlib/dlib.c",
"chars": 18965,
"preview": "/*\n * File: dlib.c\n *\n * Copyright (C) 2006-2007 Jorge Arellano Cid <jcid@dillo.org>\n *\n * This program is free software"
},
{
"path": "dlib/dlib.h",
"chars": 5656,
"preview": "#ifndef __DLIB_H__\n#define __DLIB_H__\n\n#include <stdio.h> /* for FILE* */\n#include <stddef.h> /* for size_t */\n#"
},
{
"path": "doc/Cookies.txt",
"chars": 2409,
"preview": "Jan 2002, Jrgen Viksell - jorgen.viksell@telia.com,\n Jorge Arellano Cid --\nLast update: March 2010\n\n\n=========="
},
{
"path": "doc/Makefile",
"chars": 468,
"preview": "include ../Makefile.options\n\nall: manpage.1.in\n\tsed \"s/%BINNAME%/$(BINNAME)/g\" manpage.1.in > $(BINNAME).1\n\nclean:\n\trm -"
},
{
"path": "doc/README",
"chars": 217,
"preview": "Last update: June 2015\n\nThis directory contains user documentation. Developer documentation is\nonly stored in the Hg rep"
},
{
"path": "doc/manpage.1.in",
"chars": 2866,
"preview": ".TH dillo 1 \"May 28, 2015\" \"\" \"USER COMMANDS\"\n.SH NAME\n%BINNAME% \\- web browser\n.SH SYNOPSIS\n.B %BINNAME%\n.RI [ OPTION ]"
},
{
"path": "doc/user_help.html",
"chars": 17070,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<html>\n\n<head>\n <meta http-equiv=\"Content-Type\" content"
},
{
"path": "dpi/Makefile",
"chars": 5542,
"preview": "include ../Makefile.options\n\nCXXFLAGS_EXTRA = -DDILLO_BINDIR='\"$(DILLO_BINDIR)\"' -DDILLO_LIBDIR='\"$(DILLO_LIBDIR)\"' -DBI"
},
{
"path": "dpi/bookmarks.c",
"chars": 46054,
"preview": "/*\n * Bookmarks server (chat version).\n *\n * NOTE: this code illustrates how to make a dpi-program.\n *\n * Copyright 2002"
},
{
"path": "dpi/cookies.c",
"chars": 47531,
"preview": "/*\n * File: cookies.c\n * Cookies server.\n *\n * Copyright 2001 Lars Clausen <lrclause@cs.uiuc.edu>\n * Jr"
},
{
"path": "dpi/datauri.c",
"chars": 9108,
"preview": "/*\n * File: datauri.c\n *\n * Copyright (C) 2006-2007 Jorge Arellano Cid <jcid@dillo.org>\n *\n * Filter dpi for the \"data:\""
},
{
"path": "dpi/datauri.c.orig",
"chars": 9107,
"preview": "/*\n * File: datauri.c\n *\n * Copyright (C) 2006-2007 Jorge Arellano Cid <jcid@dillo.org>\n *\n * Filter dpi for the \"data:\""
},
{
"path": "dpi/downloads.cc",
"chars": 29183,
"preview": "/*\n * File: downloads.cc\n *\n * Copyright (C) 2005-2007 Jorge Arellano Cid <jcid@dillo.org>\n *\n * This program is free so"
},
{
"path": "dpi/dpiutil.c",
"chars": 4132,
"preview": "/*\n * File: dpiutil.c\n *\n * Copyright 2004-2007 Jorge Arellano Cid <jcid@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dpi/dpiutil.h",
"chars": 1349,
"preview": "/*\n * File: dpiutil.h\n *\n * Copyright 2004-2005 Jorge Arellano Cid <jcid@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dpi/file.c",
"chars": 20251,
"preview": "/*\n * File: file.c :)\n *\n * Copyright (C) 2000-2007 Jorge Arellano Cid <jcid@dillo.org>\n *\n * This program is free softw"
},
{
"path": "dpi/fileutil.c",
"chars": 14546,
"preview": "/*\n * File: fileutils.c :)\n *\n * Copyright (C) 2000-2007 Jorge Arellano Cid <jcid@dillo.org>\n *\n * This program is free "
},
{
"path": "dpi/fileutil.h",
"chars": 3211,
"preview": "/*\n * File: fileutil.h\n *\n * Copyright 2004-2005 Jorge Arellano Cid <jcid@dillo.org>\n *\n * This program is free software"
},
{
"path": "dpi/ftp.c",
"chars": 13381,
"preview": "/*\n * Dpi for FTP.\n *\n * This server checks the ftp-URL to be a directory (requires wget).\n * If true, it sends back an "
},
{
"path": "dpi/gemini.c",
"chars": 37568,
"preview": "/*\n * Dpi for Gemini.\n *\n *\n *\n * W A R N I N G\n *\n * One of the important things to have in "
},
{
"path": "dpi/gopher.c",
"chars": 14013,
"preview": "/*\n * Dpi for Gopher.\n *\n *\n *\n * W A R N I N G\n *\n * One of the important things to have in "
},
{
"path": "dpi/hello.c",
"chars": 5744,
"preview": "/*\n * Dpi for \"Hello World\".\n *\n * This server is an example. Play with it and modify to your taste.\n *\n * Copyright 200"
},
{
"path": "dpi/man.c",
"chars": 21646,
"preview": "/*\n * File: man.c :)\n *\n * Copyright (C) 2000-2007 Jorge Arellano Cid <jcid@dillo.org>\n *\n * This program is free softwa"
},
{
"path": "dpi/vsource.c",
"chars": 7596,
"preview": "/*\n * Dpi for \"View source\".\n *\n * This server is an example. Play with it and modify to your taste.\n *\n * Copyright 201"
},
{
"path": "dpi/zip.c",
"chars": 25353,
"preview": "/*\n * File: zip.c :)\n *\n * Copyright (C) 2000-2007 Jorge Arellano Cid <jcid@dillo.org>\n *\n * This program is free softwa"
},
{
"path": "dpid/Makefile",
"chars": 1505,
"preview": "include ../Makefile.options\n\nCFLAGS_EXTRA = -DDPIDRC_SYS='\"$(DPIDRC_SYS)\"' -DBINNAME='\"$(BINNAME)\"'\n\nall: dpid-plus dpid"
},
{
"path": "dpid/TODO",
"chars": 884,
"preview": "Todo List\n\n File dpi_service.c\n This module should be removed because its original functions\n have been removed or modif"
},
{
"path": "dpid/dpi.c",
"chars": 2797,
"preview": "/*\n Copyright (C) 2003 Ferdi Franceschini <ferdif@optusnet.com.au>\n\n This program is free software; you can redistr"
},
{
"path": "dpid/dpi.h",
"chars": 1181,
"preview": "/*! \\file\n * Access functions for ~/.dillo/dpi_socket_dir.\n * The most useful function for dillo is a_Dpi_srs, it retur"
},
{
"path": "dpid/dpi_socket_dir.c",
"chars": 3564,
"preview": "/*\n Copyright (C) 2003 Ferdi Franceschini <ferdif@optusnet.com.au>\n\n This program is free software; you can redistr"
},
{
"path": "dpid/dpi_socket_dir.h",
"chars": 277,
"preview": "/*! \\file\n * Create a per user temporary directory for dpi sockets\n */\n\n#ifndef DPI_SOCKET_DIR_H\n#define DPI_SOCKET_DIR_"
},
{
"path": "dpid/dpid-plus.c",
"chars": 23708,
"preview": "/*\n Copyright (C) 2003 Ferdi Franceschini <ferdif@optusnet.com.au>\n\n This program is free software; you can redistr"
},
{
"path": "dpid/dpid-plus.h",
"chars": 2484,
"preview": "/*! \\file\n * Main functions to set-up dpi information and to initialise sockets\n */\n\n#ifndef DPID_H\n#define DPID_H\n\n#inc"
},
{
"path": "dpid/dpid_common.c",
"chars": 1381,
"preview": "/*\n * File: dpid_common.c\n *\n * Copyright 2008 Jorge Arellano Cid <jcid@dillo.org>\n *\n * This program is free software; "
},
{
"path": "dpid/dpid_common.h",
"chars": 1417,
"preview": "#ifndef DPID_COMMON_H\n#define DPID_COMMON_H\n\n/*! \\file\n * Declares common functions, global variables, and types.\n *\n * "
},
{
"path": "dpid/dpidc-plus.c",
"chars": 3262,
"preview": "#include <stdio.h>\n#include <stdlib.h> /* for exit */\n#include <string.h> /* for bzero */\n#include <unistd.h> /* for "
},
{
"path": "dpid/dpidrc.in",
"chars": 244,
"preview": "dpi_dir=@libdir@/@binname@/dpi\n\nproto.file=file/file.dpi\nproto.zip=zip/zip.dpi\nproto.man=man/man.dpi\nproto.ftp=ftp/ftp.f"
},
{
"path": "dpid/main.c",
"chars": 12171,
"preview": "/*\n Copyright (C) 2003 Ferdi Franceschini <ferdif@optusnet.com.au>\n\n This program is free software; you can redistr"
},
{
"path": "dpid/main.c.orig",
"chars": 12034,
"preview": "/*\n Copyright (C) 2003 Ferdi Franceschini <ferdif@optusnet.com.au>\n\n This program is free software; you can redistr"
},
{
"path": "dpid/misc_new.c",
"chars": 4523,
"preview": "/*\n * File: misc_new.c\n *\n * Copyright 2008 Jorge Arellano Cid <jcid@dillo.org>\n *\n * This program is free software; you"
},
{
"path": "dpid/misc_new.h",
"chars": 221,
"preview": "#ifndef MISC_NEW_H\n#define MISC_NEW_H\n\nDstr *a_Misc_rdtag(int socket);\nchar *a_Misc_readtag(int sock);\nchar *a_Misc_mkdt"
},
{
"path": "dpip/Makefile",
"chars": 233,
"preview": "include ../Makefile.options\n\nlibDpip.a: dpip.o\n\t$(AR) $(ARFLAGS) libDpip.a dpip.o\n\t$(RANLIB) libDpip.a\n\ndpip.o: dpip.h d"
},
{
"path": "dpip/dpip.c",
"chars": 13630,
"preview": "/*\n * File: dpip.c\n *\n * Copyright 2005-2015 Jorge Arellano Cid <jcid@dillo.org>\n *\n * This program is free software; yo"
},
{
"path": "dpip/dpip.h",
"chars": 2602,
"preview": "/*\n * Library for dealing with dpip tags (dillo plugin protocol tags).\n */\n\n#ifndef __DPIP_H__\n#define __DPIP_H__\n\n#ifde"
},
{
"path": "dw/Makefile",
"chars": 7042,
"preview": "include ../Makefile.options\n\nCXXFLAGS_EXTRA = -DDILLO_LIBDIR='\"$(DILLO_LIBDIR)\"'\n\nall: libDw-core.a libDw-fltk.a libDw-w"
},
{
"path": "dw/alignedtablecell.cc",
"chars": 6910,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/alignedtablecell.hh",
"chars": 1418,
"preview": "#ifndef __DW_ALIGNEDTABLECELL_HH__\n#define __DW_ALIGNEDTABLECELL_HH__\n\n#include \"core.hh\"\n#include \"alignedtextblock.hh\""
},
{
"path": "dw/alignedtextblock.cc",
"chars": 2740,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/alignedtextblock.hh",
"chars": 1443,
"preview": "#ifndef __DW_ALIGNEDTEXTBLOCK_HH__\n#define __DW_ALIGNEDTEXTBLOCK_HH__\n\n#include \"core.hh\"\n#include \"textblock.hh\"\n\nnames"
},
{
"path": "dw/bullet.cc",
"chars": 2669,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/bullet.hh",
"chars": 702,
"preview": "#ifndef __BULLET_HH__\n#define __BULLET_HH__\n\n#include \"core.hh\"\n\nnamespace dw {\n\n/**\n * \\brief Displays different kind o"
},
{
"path": "dw/core.hh",
"chars": 1227,
"preview": "#ifndef __DW_CORE_HH__\n#define __DW_CORE_HH__\n\n#define __INCLUDED_FROM_DW_CORE_HH__\n\n/**\n * \\brief Dw is in this namespa"
},
{
"path": "dw/events.hh",
"chars": 1494,
"preview": "#ifndef __DW_EVENTS_HH__\n#define __DW_EVENTS_HH__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do not include this fi"
},
{
"path": "dw/findtext.cc",
"chars": 7492,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/findtext.hh",
"chars": 2091,
"preview": "#ifndef __DW_FINDTEXT_STATE_H__\n#define __DW_FINDTEXT_STATE_H__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do not i"
},
{
"path": "dw/fltkcomplexbutton.cc",
"chars": 3638,
"preview": "// fltkcomplexbutton.cc is derived from src/Fl_Button.cxx from FLTK's 1.3\n// branch at http://fltk.org in early 2011.\n//"
},
{
"path": "dw/fltkcomplexbutton.hh",
"chars": 1825,
"preview": "\n// fltkcomplexbutton.hh is derived from FL/Fl_Button.H from FLTK's 1.3 branch\n// at http://fltk.org in early 2011.\n// F"
},
{
"path": "dw/fltkcore.hh",
"chars": 545,
"preview": "#ifndef __DW_FLTK_CORE_HH__\n#define __DW_FLTK_CORE_HH__\n\n#define __INCLUDED_FROM_DW_FLTK_CORE_HH__\n\nnamespace dw {\nnames"
},
{
"path": "dw/fltkflatview.cc",
"chars": 2223,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/fltkflatview.hh",
"chars": 869,
"preview": "#ifndef __DW_FLTKFLATVIEW_HH__\n#define __DW_FLTKFLATVIEW_HH__\n\n#include \"core.hh\"\n#include \"fltkcore.hh\"\n#include \"fltkv"
},
{
"path": "dw/fltkimgbuf.cc",
"chars": 18277,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007, 2012-2013 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is fre"
},
{
"path": "dw/fltkimgbuf.hh",
"chars": 2648,
"preview": "#ifndef __DW_FLTKIMGBUF_HH__\n#define __DW_FLTKIMGBUF_HH__\n\n#ifndef __INCLUDED_FROM_DW_FLTK_CORE_HH__\n# error Do not in"
},
{
"path": "dw/fltkmisc.cc",
"chars": 1114,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/fltkmisc.hh",
"chars": 306,
"preview": "#ifndef __FLTKMISC_HH__\n#define __FLTKMISC_HH__\n\nnamespace dw {\nnamespace fltk {\n\n/**\n * \\brief Miscellaneous FLTK stuff"
},
{
"path": "dw/fltkplatform.cc",
"chars": 18985,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/fltkplatform.hh",
"chars": 5571,
"preview": "#ifndef __DW_FLTKPLATFORM_HH__\n#define __DW_FLTKPLATFORM_HH__\n\n#ifndef __INCLUDED_FROM_DW_FLTK_CORE_HH__\n# error Do no"
},
{
"path": "dw/fltkpreview.cc",
"chars": 7840,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/fltkpreview.hh",
"chars": 2401,
"preview": "#ifndef __FlTKPREVIEW_HH__\n#define __FlTKPREVIEW_HH__\n\n#include <FL/Fl_Button.H>\n#include <FL/Fl_Menu_Window.H>\n#include"
},
{
"path": "dw/fltkui.cc",
"chars": 47546,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/fltkui.hh",
"chars": 16864,
"preview": "#ifndef __DW_FLTK_UI_HH__\n#define __DW_FLTK_UI_HH__\n\n#ifndef __INCLUDED_FROM_DW_FLTK_CORE_HH__\n# error Do not include "
},
{
"path": "dw/fltkviewbase.cc",
"chars": 21892,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/fltkviewbase.hh",
"chars": 4717,
"preview": "#ifndef __DW_FLTKVIEWBASE_HH__\n#define __DW_FLTKVIEWBASE_HH__\n\n#include <time.h> // for time_t\n#include <sys/tim"
},
{
"path": "dw/fltkviewport.cc",
"chars": 16168,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/fltkviewport.hh",
"chars": 2353,
"preview": "#ifndef __DW_FLTKVIEWPORT_HH__\n#define __DW_FLTKVIEWPORT_HH__\n\n#include <FL/Fl_Group.H>\n#include <FL/Fl_Scrollbar.H>\n\n#i"
},
{
"path": "dw/hyphenator.cc",
"chars": 16440,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2012-2013 Sebastian Geerken <sgeerken@dillo.org>,\n * Johannes Hof"
},
{
"path": "dw/hyphenator.hh",
"chars": 3156,
"preview": "#ifndef __DW_HYPHENATOR_HH__\n#define __DW_HYPHENATOR_HH__\n\n#include \"../lout/object.hh\"\n#include \"../lout/container.hh\"\n"
},
{
"path": "dw/image.cc",
"chars": 18741,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/image.hh",
"chars": 6097,
"preview": "#ifndef __DW_IMAGE_HH__\n#define __DW_IMAGE_HH__\n\n#include \"core.hh\"\n\nnamespace dw {\n\n/**\n * \\brief Represents a list of "
},
{
"path": "dw/imgbuf.hh",
"chars": 7591,
"preview": "#ifndef __DW_IMGBUF_HH__\n#define __DW_IMGBUF_HH__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do not include this fi"
},
{
"path": "dw/imgrenderer.cc",
"chars": 1937,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2013 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software; you "
},
{
"path": "dw/imgrenderer.hh",
"chars": 2247,
"preview": "#ifndef __DW_IMGRENDERER_HH__\n#define __DW_IMGRENDERER_HH__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do not inclu"
},
{
"path": "dw/iterator.cc",
"chars": 25797,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/iterator.hh",
"chars": 8012,
"preview": "#ifndef __ITERATOR_HH__\n#define __ITERATOR_HH__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do not include this file"
},
{
"path": "dw/layout.cc",
"chars": 39152,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/layout.hh",
"chars": 13898,
"preview": "#ifndef __DW_LAYOUT_HH__\n#define __DW_LAYOUT_HH__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do not include this fi"
},
{
"path": "dw/listitem.cc",
"chars": 2053,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/listitem.hh",
"chars": 571,
"preview": "#ifndef __DW_LISTITEM_HH__\n#define __DW_LISTITEM_HH__\n\n#include \"core.hh\"\n#include \"alignedtextblock.hh\"\n\nnamespace dw {"
},
{
"path": "dw/oofawarewidget.cc",
"chars": 20466,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software; you "
},
{
"path": "dw/oofawarewidget.hh",
"chars": 11720,
"preview": "#ifndef __DW_OOFAWAREWIDGET_HH__\n#define __DW_OOFAWAREWIDGET_HH__\n\n#include \"core.hh\"\n#include \"outofflowmgr.hh\"\n\nnamesp"
},
{
"path": "dw/oofawarewidget_iterator.cc",
"chars": 7844,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software; you "
},
{
"path": "dw/ooffloatsmgr.cc",
"chars": 46935,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2013-2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/ooffloatsmgr.hh",
"chars": 9925,
"preview": "#ifndef __DW_OOFFLOATSMGR_HH__\n#define __DW_OOFFLOATSMGR_HH__\n\n#include \"outofflowmgr.hh\"\n\nnamespace dw {\n\nnamespace oof"
},
{
"path": "dw/oofposabslikemgr.cc",
"chars": 15839,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2015 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software; you "
},
{
"path": "dw/oofposabslikemgr.hh",
"chars": 1989,
"preview": "#ifndef __DW_OOFPOSABSLIKEMGR_HH__\n#define __DW_OOFPOSABSLIKEMGR_HH__\n\n#include \"oofpositionedmgr.hh\"\n\nnamespace dw {\n\nn"
},
{
"path": "dw/oofposabsmgr.cc",
"chars": 1884,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software; you "
},
{
"path": "dw/oofposabsmgr.hh",
"chars": 465,
"preview": "#ifndef __DW_OOFPOSABSMGR_HH__\n#define __DW_OOFPOSABSMGR_HH__\n\n#include \"oofposabslikemgr.hh\"\n\nnamespace dw {\n\nnamespace"
},
{
"path": "dw/oofposfixedmgr.cc",
"chars": 1290,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software; you "
},
{
"path": "dw/oofposfixedmgr.hh",
"chars": 477,
"preview": "#ifndef __DW_OOFPOSFIXEDMGR_HH__\n#define __DW_OOFPOSFIXEDMGR_HH__\n\n#include \"oofposabslikemgr.hh\"\n\nnamespace dw {\n\nnames"
},
{
"path": "dw/oofpositionedmgr.cc",
"chars": 11780,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2013-2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/oofpositionedmgr.hh",
"chars": 5042,
"preview": " #ifndef __DW_OOFPOSITIONEDMGR_HH__\n#define __DW_OOFPOSITIONEDMGR_HH__\n\n#include \"outofflowmgr.hh\"\n#include \"oofawarewid"
},
{
"path": "dw/oofposrelmgr.cc",
"chars": 7804,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2015 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software; you "
},
{
"path": "dw/oofposrelmgr.hh",
"chars": 1484,
"preview": "#ifndef __DW_OOFPOSRELMGR_HH__\n#define __DW_OOFPOSRELMGR_HH__\n\n#include \"oofpositionedmgr.hh\"\n\nnamespace dw {\n\nnamespace"
},
{
"path": "dw/outofflowmgr.cc",
"chars": 967,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2013-2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/outofflowmgr.hh",
"chars": 5254,
"preview": "#ifndef __DW_OUTOFFLOWMGR_HH__\n#define __DW_OUTOFFLOWMGR_HH__\n\n#include \"core.hh\"\n\nnamespace dw {\n\n/**\n * \\brief Out Of"
},
{
"path": "dw/platform.hh",
"chars": 4571,
"preview": "#ifndef __DW_PLATFORM_HH__\n#define __DW_PLATFORM_HH__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do not include thi"
},
{
"path": "dw/preview.xbm",
"chars": 230,
"preview": "#define preview_width 11\n#define preview_height 11\nstatic unsigned char preview_bits[] = {\n 0x20, 0x00, 0x70, 0x00, 0x"
},
{
"path": "dw/regardingborder.cc",
"chars": 1055,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2015 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software; you "
},
{
"path": "dw/regardingborder.hh",
"chars": 463,
"preview": "#ifndef __DW_REGARDINGBORDER_HH__\n#define __DW_REGARDINGBORDER_HH__\n\n#include \"oofawarewidget.hh\"\n\nnamespace dw {\n\n/**\n "
},
{
"path": "dw/ruler.cc",
"chars": 2517,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/ruler.hh",
"chars": 1263,
"preview": "#ifndef __RULER_HH__\n#define __RULER_HH__\n\n#include \"regardingborder.hh\"\n\nnamespace dw {\n\n/**\n * \\brief Widget for drawi"
},
{
"path": "dw/selection.cc",
"chars": 13992,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/selection.hh",
"chars": 8849,
"preview": "#ifndef __DW_SELECTION_H__\n#define __DW_SELECTION_H__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do not include thi"
},
{
"path": "dw/simpletablecell.cc",
"chars": 4874,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software; you "
},
{
"path": "dw/simpletablecell.hh",
"chars": 1197,
"preview": "#ifndef __DW_SIMPLETABLECELL_HH__\n#define __DW_SIMPLETABLECELL_HH__\n\n#include \"textblock.hh\"\n\nnamespace dw {\n\nclass Simp"
},
{
"path": "dw/stackingcontextmgr.cc",
"chars": 6242,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software; you "
},
{
"path": "dw/stackingcontextmgr.hh",
"chars": 2462,
"preview": "#ifndef __DW_STACKINGCONTEXTMGR_HH__\n#define __DW_STACKINGCONTEXTMGR_HH__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# erro"
},
{
"path": "dw/style.cc",
"chars": 50618,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/style.hh",
"chars": 24346,
"preview": "#ifndef __DW_STYLE_HH__\n#define __DW_STYLE_HH__\n\n#include <stdint.h>\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do "
},
{
"path": "dw/table.cc",
"chars": 56428,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007, 2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free sof"
},
{
"path": "dw/table.hh",
"chars": 17872,
"preview": "#ifndef __DW_TABLE_HH__\n#define __DW_TABLE_HH__\n\n#include \"oofawarewidget.hh\"\n#include \"alignedtablecell.hh\"\n#include \"."
},
{
"path": "dw/table_iterator.cc",
"chars": 2542,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007, 2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * (This file was originall"
},
{
"path": "dw/tablecell.cc",
"chars": 4385,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software; you "
},
{
"path": "dw/tablecell.hh",
"chars": 1555,
"preview": "#ifndef __DW_TABLECELL_HH__\n#define __DW_TABLECELL_HH__\n\n#include \"core.hh\"\n\nnamespace dw {\n\nnamespace tablecell {\n\ninli"
},
{
"path": "dw/textblock.cc",
"chars": 118624,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007, 2012-2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is fre"
},
{
"path": "dw/textblock.hh",
"chars": 41154,
"preview": "#ifndef __DW_TEXTBLOCK_HH__\n#define __DW_TEXTBLOCK_HH__\n\n#include <limits.h>\n\n#include \"regardingborder.hh\"\n#include \".."
},
{
"path": "dw/textblock_iterator.cc",
"chars": 11385,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007, 2012-2013 Sebastian Geerken <sgeerken@dillo.org>\n *\n * (Parts of this file"
},
{
"path": "dw/textblock_linebreaking.cc",
"chars": 86698,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007, 2012-2014 Sebastian Geerken <sgeerken@dillo.org>\n *\n * (Parts of this file"
},
{
"path": "dw/tools.cc",
"chars": 4833,
"preview": "#include \"core.hh\"\n\nnamespace dw {\nnamespace core {\n\nusing namespace lout::misc;\n \nSizeParams::SizeParams ()\n{\n DBG_"
},
{
"path": "dw/tools.hh",
"chars": 1733,
"preview": "#ifndef __DW_TOOLS_HH__\n#define __DW_TOOLS_HH__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do not include this file"
},
{
"path": "dw/types.cc",
"chars": 10260,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/types.hh",
"chars": 7662,
"preview": "#ifndef __DW_TYPES_HH__\n#define __DW_TYPES_HH__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do not include this file"
},
{
"path": "dw/ui.cc",
"chars": 15413,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/ui.hh",
"chars": 20676,
"preview": "#ifndef __DW_UI_HH__\n#define __DW_UI_HH__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do not include this file direc"
},
{
"path": "dw/view.hh",
"chars": 7043,
"preview": "#ifndef __DW_VIEW_HH__\n#define __DW_VIEW_HH__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do not include this file d"
},
{
"path": "dw/widget.cc",
"chars": 65728,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "dw/widget.hh",
"chars": 20691,
"preview": "#ifndef __DW_WIDGET_HH__\n#define __DW_WIDGET_HH__\n\n#ifndef __INCLUDED_FROM_DW_CORE_HH__\n# error Do not include this fi"
},
{
"path": "install-dpi-local",
"chars": 795,
"preview": "#!/bin/sh\n#\n# Install the dpi framework programs inside the user's account.\n#\n\nBASE=\"$HOME/.dillo\"\nBASE2=\"$BASE/dpi\"\n\nif"
},
{
"path": "install-sh",
"chars": 13998,
"preview": "#!/bin/sh\n# install - install a program, script, or datafile\n\nscriptversion=2011-01-19.21; # UTC\n\n# This originates from"
},
{
"path": "lout/Makefile",
"chars": 635,
"preview": "include ../Makefile.options\n\nall: liblout.a\n\nliblout.a: container.o identity.o misc.o object.o signal.o unicode.o\n\t$(AR)"
},
{
"path": "lout/container.cc",
"chars": 16505,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "lout/container.hh",
"chars": 14859,
"preview": "#ifndef __LOUT_CONTAINER_HH_\n#define __LOUT_CONTAINER_HH_\n\n#include \"object.hh\"\n\nnamespace lout {\n\n/**\n * \\brief This na"
},
{
"path": "lout/debug.hh",
"chars": 2488,
"preview": "#ifndef __LOUT_DEBUG_H__\n#define __LOUT_DEBUG_H__\n\n/*\n * Simple debug messages. Add:\n *\n * #define DEBUG_LEVEL <n>\n *"
},
{
"path": "lout/debug_rtfl.hh",
"chars": 16545,
"preview": "// WARNING: This file has been generated. Do not edit!\n\n/*\n * This file is part of RTFL, see <http://home.gna.org/rtfl/>"
},
{
"path": "lout/identity.cc",
"chars": 3678,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
},
{
"path": "lout/identity.hh",
"chars": 4179,
"preview": "#ifndef __LOUT_OBJECTX_HH__\n#define __LOUT_OBJECTX_HH__\n\n#include \"object.hh\"\n#include \"container.hh\"\n#include \"signal.h"
},
{
"path": "lout/misc.cc",
"chars": 3913,
"preview": "/*\n * Dillo Widget\n *\n * Copyright 2005-2007 Sebastian Geerken <sgeerken@dillo.org>\n *\n * This program is free software;"
}
]
// ... and 198 more files (download for full content)
About this extraction
This page contains the full source code of the crossbowerbt/dillo-plus GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 398 files (3.8 MB), approximately 1.0M tokens, and a symbol index with 2510 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.