Skip to content

Commit 8c25b33

Browse files
committed
#1-Write README.doc
Completed.
1 parent 2adc1bf commit 8c25b33

File tree

1 file changed

+38
-1
lines changed

1 file changed

+38
-1
lines changed

README.md

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,39 @@
11
# CppBMPLoader
2-
An exhaustive BMP Loader, MIT-licensed, implemented for c11 and c20
2+
An exhaustive BMP Loader, MIT-licensed, implemented for c++11 and c++20
3+
4+
5+
## Genesis of this project
6+
The genesis of this project is the initial creation of the **OGLFW** library,
7+
an object overlay of the **GLFW** library, and the need to associate it with
8+
a library for loading images under the **MIT license** or from the public
9+
domain, free of rights, to associate them with icons provided in OGLFW.
10+
11+
Being unable to find such a library under this type of license, a solution
12+
was to let users of the original **OGLFW** library load the images themselves
13+
using the external library of their choice, even if not under the MIT license.
14+
15+
Another solution was to propose an `Icon` class with a virtual image loading
16+
method not implemented in this base class. This second solution allowed users
17+
to derive their own classes from this Icon base class and to implement the
18+
image loading method corresponding to the format of the images to be loaded
19+
(possibly using already existing but less permissively licensed libraries).
20+
To this end, and as an example of implementation, a `BMPIcon` derived class
21+
has been provided in the **OGLFW** library. Its implementation had to rely on
22+
an external library which allows the loading of **BMP** images. Unfortunately,
23+
no library met the required licensing criteria or, when unlicensed or under
24+
**MIT** license, did not allow decoding of all cases of BMP image encoding.
25+
26+
The **CppBMPLoader** library therefore fills this gap by offering the only
27+
loading of **BMP** images in all the forms that this image format allows and
28+
under the permissive MIT license. It will also meet many other needs when we
29+
see the quantity of questions asked on this subject on the Internet and the
30+
number of BMPLoader libraries already existing but apparently incomplete that
31+
we can find on *GitHub*, programmed in c++ or in other programming languages.
32+
33+
Initially, two versions of the library are offered, one responding to standard
34+
c++11 of the programming language and the other responding to standard c++20
35+
and offering more advanced programming concepts (e.g. programmed in the form
36+
of c++ modules ).
37+
38+
Notice: by April and May 2024, this original library **OGLFW** is still under
39+
development.

0 commit comments

Comments
 (0)