Стартовый пул

This commit is contained in:
2024-04-02 08:46:59 +03:00
parent fd57fffd3a
commit 3bb34d000b
5591 changed files with 3291734 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,5 @@
@echo off
if not exist web mkdir web
del web\*.html
pasdoc @pasdoc.cfg
pause

View File

@@ -0,0 +1,22 @@
DOCSPATH=web
if [ ! -d "$DOCSPATH" ]; then
mkdir $DOCSPATH
fi
echo Removing previously generated pages...
rm $DOCSPATH/*.html
rm $DOCSPATH/*.dot
rm $DOCSPATH/*.svg
./pasdoc @pasdoc.cfg -X --graphviz-uses --link-gv-uses=svg --graphviz-classes --link-gv-classes=svg
perl -ni -e 'print unless /"(SysUtils|Classes|BGRAGraphics|BGRAClasses|BGRABitmapTypes|Math|Types|FPImgCanv|FPImage|fgl)"/i' $DOCSPATH/GVUses.dot
perl -ni -e 'print unless /"(TObject)"/i' $DOCSPATH/GVClasses.dot
dot -Grankdir=LR -T svg $DOCSPATH/GVUses.dot > $DOCSPATH/GVUses.svg
dot -Grankdir=LR -T svg $DOCSPATH/GVClasses.dot > $DOCSPATH/GVClasses.svg
perl -i -pe 's|(<h1 class="allitems">All Units</h1>)|$1\n<p><a href="GVUses.svg">🔍 Dependency graph</a></p>|' $DOCSPATH/AllUnits.html
perl -i -pe 's|(<h1 class="allitems">Class Hierarchy</h1>)|$1\n<p><a href="GVClasses.svg">🔍 Hierarchy graph</a></p>|' $DOCSPATH/ClassHierarchy.html
perl -i -pe 's|(<h1 class="unit">Unit ([A-Za-z][A-Za-z0-9_]+)</h1>)|<p style="float: right; margin-block-start: 0.5em"><a href="https://github.com/bgrabitmap/bgrabitmap/blob/master/bgrabitmap/\L$2\E.pas">📄 Source</a></p>\n$1|' $DOCSPATH/*.html
perl -i -pe 's|Classes, Interfaces, Objects and Records|Structures|' $DOCSPATH/*.html

View File

@@ -0,0 +1,39 @@
@title(📚 BGRABitmap documentation)
@shorttitle(📚 BGRABitmap)
[🏠 Homepage](https://bgrabitmap.github.io/)
@image(../bgrabitmap.jpg)
@section(1 SecFirst Introduction)
[BGRABitmap](https://bgrabitmap.github.io/) is a package designed to modify and create images with transparency. Direct pixel access allows fast image processing. The library has been tested on Windows, Linux and Mac.
@section(1 Install How to install)
There are various ways to install.
- [Download source code](https://github.com/bgrabitmap/bgrabitmap/releases) and [configure your project](https://wiki.freepascal.org/BGRABitmap_tutorial_1).
- Use [Online Package Manager](http://wiki.lazarus.freepascal.org/Online_Package_Manager) in Lazarus.
- Get a fresh installation of Lazarus and BGRABitmap with [FPCUpDeluxe](http://wiki.lazarus.freepascal.org/fpcupdeluxe).
The source code can be browser on the [repository](https://github.com/bgrabitmap/bgrabitmap).
@section(1 Start Quick start)
Include BGRABitmap and BGRABitmapTypes in the **uses** clause. If you are using LCL types, add also BGRAGraphics unit.
Create TBGRABitmap instances for each image. This class derives from TBGRACustomBitmap.
The **CanvasBGRA** property of type TBGRACanvas provides a canvas with opacity and [antialiasing](https://wiki.freepascal.org/BGRABitmap_tutorial_13).
The **Canvas2D** property of type TBGRACanvas2D provides a canvas with 2d transformation and [similar to HTML5](https://wiki.freepascal.org/BGRABitmap_tutorial_14).
Here is a nice [introduction to BGRABitmap](https://msegui.net/tutoriels/bgrabitmap-lazarus/tutoriel.html) in French.
@section(1 Resources More resources)
You can read more about BGRABitmap in the [wiki](http://wiki.freepascal.org/BGRABitmap). And also you can follow [tutorials](http://wiki.freepascal.org/BGRABitmap_tutorial) to learn how to use BGRABitmap.
There is also an [image transitions tutorial](https://gilles-vasseur.developpez.com/tutoriels/transitions/bgra1/) in French.
Lazarus forum has a [category](https://forum.lazarus.freepascal.org/index.php/board,46.0.html) for BGRABitmap. To report bugs, please check [issues](https://github.com/bgrabitmap/bgrabitmap/issues) on GitHub.

View File

@@ -0,0 +1,258 @@
/*
Copyright 1998-2018 PasDoc developers.
This file is part of "PasDoc".
"PasDoc" 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 2 of the License, or
(at your option) any later version.
"PasDoc" 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 "PasDoc"; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
----------------------------------------------------------------------------
*/
body, html {
margin: 0;
padding: 0;
}
body {
font-family: Verdana,Arial;
color: black;
background-color: white;
}
.container {
width: 100%;
height: 100%;
border-spacing: 0;
}
.navigation {
float: left;
width: 20em; /* must match .content margin-left */
height: 100%;
color: white;
background-color: #3D9E8C;
position: fixed;
margin: 0;
box-sizing: border-box; /* without this, you could not have padding here, it would overlap with .content, causing errors on narrow screens */
padding: 1em;
}
.navigation ul {
margin: 0em;
padding: 0em;
}
.navigation li {
list-style-type: none;
margin: 0.2em 0em 0em 0em;
padding: 0.25em;
}
.navigation h2 {
text-align: center;
margin: 0em;
padding: 0.5em;
}
.content {
margin-left: 20em; /* must match .navigation width */
box-sizing: border-box; /* without this, you could not have padding here, it would overlap with .navigation, causing errors on narrow screens */
padding: 1em;
}
.content h1 {
margin-top: 0;
}
.appinfo {
float: right;
text-align: right;
margin-bottom: 1em;
}
img { border:0px; }
hr {
border-bottom: medium none;
border-top: thin solid #888;
}
a:link {color:#3d578c; text-decoration: none; }
a:visited {color:#7E5C31; text-decoration: none; }
a:hover {text-decoration: underline; }
a:active {text-decoration: underline; }
.navigation a:link { color: white; text-decoration: none; }
.navigation a:visited { color: white; text-decoration: none; }
.navigation a:hover { color: white; font-weight: bold; text-decoration: none; }
.navigation a:active { color: white; text-decoration: none; }
a.bold:link {color:#3d578c; text-decoration: none; font-weight:bold; }
a.bold:visited {color:#7E5C31; text-decoration: none; font-weight:bold; }
a.bold:hover {text-decoration: underline; font-weight:bold; }
a.bold:active {text-decoration: underline; font-weight:bold; }
a.section {color: #3d578c; text-decoration: none; font-weight: bold; }
a.section:hover {color: #3d578c; text-decoration: underline; font-weight: bold; }
ul.useslist a:link {color:#3d578c; text-decoration: none; font-weight:bold; }
ul.useslist a:visited {color:#7E5C31; text-decoration: none; font-weight:bold; }
ul.useslist a:hover {text-decoration: underline; font-weight:bold; }
ul.useslist a:active {text-decoration: underline; font-weight:bold; }
ul.hierarchy { list-style-type:none; }
ul.hierarchylevel { list-style-type:none; }
p.unitlink a:link {color:#3d578c; text-decoration: none; font-weight:bold; }
p.unitlink a:visited {color:#7E5C31; text-decoration: none; font-weight:bold; }
p.unitlink a:hover {text-decoration: underline; font-weight:bold; }
p.unitlink a:active {text-decoration: underline; font-weight:bold; }
tr.list { background: #f7f8fb; }
tr.list2 { background: #fbfcff; }
tr.listheader { background: #3d578c; color: white; }
table.wide_list { border-spacing:2px; width:100%; }
table.wide_list td { vertical-align:top; padding:4px; }
table.markerlegend { width:auto; }
table.markerlegend td.legendmarker { text-align:center; }
.sections { background:white; }
.sections .one_section {
background:lightgray;
display: inline-block;
margin: 0.2em;
padding: 0.5em 1em;
}
table.summary td.itemcode { width:100%; }
table.detail td.itemcode { width:100%; }
td.itemname {white-space:nowrap; }
td.itemunit {white-space:nowrap; }
td.itemdesc { width:100%; }
.nodescription, .inheritdescription { color: #c70; }
dl.parameters dt {
color:blue;
}
code {
font-family: monospace;
font-size:1.2em;
}
/* style for warning and note tag */
dl.tag.warning {
margin-left:-2px;
padding-left: 3px;
border-left:4px solid;
border-color: #FF0000;
}
dl.tag.note {
margin-left:-2px;
padding-left: 3px;
border-left:4px solid;
border-color: #D0C000;
}
/* Various browsers have various default styles for <h6>,
sometimes ugly for our purposes, so it's best to set things
like font-size and font-weight in out pasdoc.css explicitly. */
h6.description_section {
/* font-size 100% means that it has the same font size as the
parent element, i.e. normal description text */
font-size: 100%;
font-weight: bold;
/* By default browsers usually have some large margin-bottom and
margin-top for <h1-6> tags. In our case, margin-bottom is
unnecessary, we want to visually show that description_section
is closely related to content below. In this situation
(where the font size is just as a normal text), smaller bottom
margin seems to look good. */
margin-top: 1.4em;
margin-bottom: 0em;
}
/* Style applied to Pascal code in documentation
(e.g. produced by @longcode tag) } */
.longcode {
font-family: monospace;
font-size: 1.2em;
background-color: #eee;
padding: 0.5em;
border: thin solid #ccc;
}
span.pascal_string { color: #000080; }
span.pascal_keyword { font-weight: bolder; }
span.pascal_comment { color: #000080; font-style: italic; }
span.pascal_compiler_comment { color: #008000; }
span.pascal_numeric { }
span.pascal_hex { }
p.hint_directive { color: red; }
input#search_text { }
input#search_submit_button { }
acronym.mispelling { background-color: #f00; }
/* Actually this reduces vertical space between *every* paragraph
inside list with @itemSpacing(compact).
While we would like to reduce this space only for the
top of 1st and bottom of last paragraph within each list item.
But, well, user probably will not do any paragraph breaks
within a list with @itemSpacing(compact) anyway, so it's
acceptable solution. */
ul.compact_spacing p { margin-top: 0em; margin-bottom: 0em; }
ol.compact_spacing p { margin-top: 0em; margin-bottom: 0em; }
dl.compact_spacing p { margin-top: 0em; margin-bottom: 0em; }
/* Style for table created by @table tags:
just some thin border.
This way we have some borders around the cells
(so cells are visibly separated), but the border
"blends with the background" so it doesn't look too ugly.
Hopefully it looks satisfactory in most cases and for most
people.
We add padding for cells, otherwise they look too close.
This is normal thing to do when border-collapse is set to
collapse (because this eliminates spacing between cells).
*/
table.table_tag { border-collapse: collapse; }
table.table_tag td { border: 1pt solid gray; padding: 0.3em; }
table.table_tag th { border: 1pt solid gray; padding: 0.3em; }
table.detail {
border: 1pt solid gray;
margin-top: 0.3em;
margin-bottom: 0.3em;
background: #fffeea;
}
.search-form { white-space: nowrap; }
.search-input input { max-width: 80%; } /* this provides some safe space to always fit even on very narrow screens */
.search-input input, .search-button { display: inline-block; vertical-align: middle; }
.search-input { display: inline-block; }
/* Do not make extra vertical space at the beginning/end of table cells.
We need ">" selector, to not change paragraphs inside lists inside
table cells. */
table.table_tag td > p:first-child,
table.table_tag th > p:first-child,
td.itemdesc > p:first-child { margin-top: 0em; }
table.table_tag td > p:last-child,
table.table_tag th > p:last-child,
td.itemdesc > p:last-child { margin-bottom: 0em; }

9
bgrabitmap/doc/readme.md Normal file
View File

@@ -0,0 +1,9 @@
## Generation of documentation
To generate the documentation, you will need [this fork](https://github.com/circular17/pasdoc) of pasdoc for it to work properly. The changes may be integrated in the future in the release of [pasdoc](https://github.com/pasdoc/pasdoc).
Compile the console version of pasdoc and copy into the [/doc](https://github.com/bgrabitmap/bgrabitmap/tree/dev-bgrabitmap/doc) folder of bgrabitmap. Then run the script called `generate.sh` (on Linux and MacOS). There is as well a batch file `generate.bat` for Windows though it doesn't generate the charts.
The charts are generated using [Graphviz](https://graphviz.org/) with its `dot` command. Some units and classes are from the `.dot` files before generating the chart in order to make it readable. They are accessible in the generated HTML documentation with the left panel.
The scripts generates the HTML documentation in a subfolder called **web**. It is not archived in this repository, considering it would take up space, is bound to be regenerated anyway and will be stored in the [documentation website](https://github.com/bgrabitmap/bgrabitmap.github.io).

109
bgrabitmap/doc/units.txt Normal file
View File

@@ -0,0 +1,109 @@
../bgrabitmap/avifbgra.pas
../bgrabitmap/bgraanimatedgif.pas
../bgrabitmap/bgraarrow.pas
../bgrabitmap/bgrabitmap.pas
../bgrabitmap/bgrabitmaptypes.pas
../bgrabitmap/bgrablend.pas
../bgrabitmap/bgrablurgl.pas
../bgrabitmap/bgracanvas.pas
../bgrabitmap/bgracanvas2d.pas
../bgrabitmap/bgracanvasgl.pas
../bgrabitmap/bgraclasses.pas
../bgrabitmap/bgracolorint.pas
../bgrabitmap/bgracolorquantization.pas
../bgrabitmap/bgracompressablebitmap.pas
../bgrabitmap/bgracoordpool3d.pas
../bgrabitmap/bgracustomtextfx.pas
../bgrabitmap/bgradefaultbitmap.pas
../bgrabitmap/bgradithering.pas
../bgrabitmap/bgradnetdeserial.pas
../bgrabitmap/bgrafillinfo.pas
../bgrabitmap/bgrafilterblur.pas
../bgrabitmap/bgrafilters.pas
../bgrabitmap/bgrafilterscanner.pas
../bgrabitmap/bgrafiltertype.pas
../bgrabitmap/bgrafontgl.pas
../bgrabitmap/bgrafreetype.pas
../bgrabitmap/bgragifformat.pas
../bgrabitmap/bgragradientoriginal.pas
../bgrabitmap/bgragradients.pas
../bgrabitmap/bgragradientscanner.pas
../bgrabitmap/bgragraphics.pas
../bgrabitmap/bgragrayscalemask.pas
../bgrabitmap/bgraiconcursor.pas
../bgrabitmap/bgralayeroriginal.pas
../bgrabitmap/bgralayers.pas
../bgrabitmap/bgralazpaint.pas
../bgrabitmap/bgralazresource.pas
../bgrabitmap/bgralclbitmap.pas
../bgrabitmap/bgralzpcommon.pas
../bgrabitmap/bgramatrix3d.pas
../bgrabitmap/bgramemdirectory.pas
../bgrabitmap/bgramultifiletype.pas
../bgrabitmap/bgraopengl.pas
../bgrabitmap/bgraopengl3d.pas
../bgrabitmap/bgraopengltype.pas
../bgrabitmap/bgraopenraster.pas
../bgrabitmap/bgrapaintnet.pas
../bgrabitmap/bgrapalette.pas
../bgrabitmap/bgrapapers.pas
../bgrabitmap/bgrapath.pas
../bgrabitmap/bgrapen.pas
../bgrabitmap/bgraphongtypes.pas
../bgrabitmap/bgraphoxo.pas
../bgrabitmap/bgrapngcomn.pas
../bgrabitmap/bgrapolygon.pas
../bgrabitmap/bgrapolygonaliased.pas
../bgrabitmap/bgrareadavif.pas
../bgrabitmap/bgrareadbmp.pas
../bgrabitmap/bgrareadbmpmiomap.pas
../bgrabitmap/bgrareadgif.pas
../bgrabitmap/bgrareadico.pas
../bgrabitmap/bgrareadjpeg.pas
../bgrabitmap/bgrareadlzp.pas
../bgrabitmap/bgrareadpcx.pas
../bgrabitmap/bgrareadpng.pas
../bgrabitmap/bgrareadpsd.pas
../bgrabitmap/bgrareadtga.pas
../bgrabitmap/bgrareadtiff.pas
../bgrabitmap/bgrareadwebp.pas
../bgrabitmap/bgrareadxpm.pas
../bgrabitmap/bgrarenderer3d.pas
../bgrabitmap/bgraresample.pas
../bgrabitmap/bgrascene3d.pas
../bgrabitmap/bgrascenetypes.pas
../bgrabitmap/bgraslicescaling.pas
../bgrabitmap/bgraspritegl.pas
../bgrabitmap/bgrasse.pas
../bgrabitmap/bgrastreamlayers.pas
../bgrabitmap/bgrasvg.pas
../bgrabitmap/bgrasvgoriginal.pas
../bgrabitmap/bgrasvgshapes.pas
../bgrabitmap/bgrasvgtype.pas
../bgrabitmap/bgratext.pas
../bgrabitmap/bgratextbidi.pas
../bgrabitmap/bgratextfx.pas
../bgrabitmap/bgrathumbnail.pas
../bgrabitmap/bgratransform.pas
../bgrabitmap/bgratypewriter.pas
../bgrabitmap/bgraunicode.pas
../bgrabitmap/bgraunicodetext.pas
../bgrabitmap/bgraunits.pas
../bgrabitmap/bgrautf8.pas
../bgrabitmap/bgravectorize.pas
../bgrabitmap/bgrawinresource.pas
../bgrabitmap/bgrawriteavif.pas
../bgrabitmap/bgrawritebmp.pas
../bgrabitmap/bgrawritebmpmiomap.pas
../bgrabitmap/bgrawritejpeg.pas
../bgrabitmap/bgrawritelzp.pas
../bgrabitmap/bgrawritepcx.pas
../bgrabitmap/bgrawritepng.pas
../bgrabitmap/bgrawritetiff.pas
../bgrabitmap/bgrawritewebp.pas
../bgrabitmap/expandedbitmap.pas
../bgrabitmap/linearrgbabitmap.pas
../bgrabitmap/universaldrawer.pas
../bgrabitmap/unzipperext.pas
../bgrabitmap/wordxyzabitmap.pas
../bgrabitmap/xyzabitmap.pas