Initial Upload
This commit is contained in:
commit
00145ed0dc
2199 changed files with 1123786 additions and 0 deletions
BIN
CAD/Button Grid.stl
Normal file
BIN
CAD/Button Grid.stl
Normal file
Binary file not shown.
BIN
CAD/Case.stl
Normal file
BIN
CAD/Case.stl
Normal file
Binary file not shown.
BIN
CAD/Color Button.stl
Normal file
BIN
CAD/Color Button.stl
Normal file
Binary file not shown.
BIN
CAD/Cover Plate.stl
Normal file
BIN
CAD/Cover Plate.stl
Normal file
Binary file not shown.
251845
CAD/OMOTE v25.step
Normal file
251845
CAD/OMOTE v25.step
Normal file
File diff suppressed because it is too large
Load diff
BIN
CAD/Off Button.stl
Normal file
BIN
CAD/Off Button.stl
Normal file
Binary file not shown.
674
LICENSE
Normal file
674
LICENSE
Normal file
|
@ -0,0 +1,674 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <https://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 <https://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
|
||||||
|
<https://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
|
||||||
|
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
49
LVGL Simulator/.editorconfig
Normal file
49
LVGL Simulator/.editorconfig
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
##
|
||||||
|
## PROJECT: Mouri Internal Library Essentials
|
||||||
|
## FILE: .editorconfig
|
||||||
|
## PURPOSE: The root .editorconfig file for C++ Project
|
||||||
|
##
|
||||||
|
## LICENSE: The MIT License
|
||||||
|
##
|
||||||
|
## DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
##
|
||||||
|
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8-bom
|
||||||
|
end_of_line = crlf
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.{c,c++,cc,cpp,cxx,h,h++,hh,hpp,hxx,idl,inl,ipp,tlh,tli}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
vc_generate_documentation_comments = doxygen_slash_star
|
||||||
|
|
||||||
|
[*.{js,json,xml,toml,xaml}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.rc]
|
||||||
|
charset = utf-16le
|
||||||
|
|
||||||
|
[Mile.Project.Properties.Template.h]
|
||||||
|
charset = utf-16le
|
||||||
|
|
||||||
|
[Mile.Project.Properties.h]
|
||||||
|
charset = utf-16le
|
||||||
|
|
||||||
|
[*.bat]
|
||||||
|
charset = utf-8
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.sh]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
414
LVGL Simulator/.gitignore
vendored
Normal file
414
LVGL Simulator/.gitignore
vendored
Normal file
|
@ -0,0 +1,414 @@
|
||||||
|
##
|
||||||
|
## PROJECT: Mouri Internal Library Essentials
|
||||||
|
## FILE: .gitignore
|
||||||
|
## PURPOSE: The root .gitignore file for Visual Studio C++ Project
|
||||||
|
##
|
||||||
|
## LICENSE: The MIT License
|
||||||
|
##
|
||||||
|
## DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
##
|
||||||
|
|
||||||
|
##
|
||||||
|
## Ignore Mile.Project specific temporary files, build results,
|
||||||
|
## and files generated by popular Visual Studio add-ons.
|
||||||
|
##
|
||||||
|
Output/
|
||||||
|
|
||||||
|
##
|
||||||
|
## Ignore Visual Studio temporary files, build results, and
|
||||||
|
## files generated by popular Visual Studio add-ons.
|
||||||
|
##
|
||||||
|
|
||||||
|
# User-specific files
|
||||||
|
*.rsuser
|
||||||
|
*.suo
|
||||||
|
*.user
|
||||||
|
*.userosscache
|
||||||
|
*.sln.docstates
|
||||||
|
|
||||||
|
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||||
|
*.userprefs
|
||||||
|
|
||||||
|
# Mono auto generated files
|
||||||
|
mono_crash.*
|
||||||
|
|
||||||
|
# Build results
|
||||||
|
[Dd]ebug/
|
||||||
|
[Dd]ebugPublic/
|
||||||
|
[Rr]elease/
|
||||||
|
[Rr]eleases/
|
||||||
|
x64/
|
||||||
|
x86/
|
||||||
|
[Ww][Ii][Nn]32/
|
||||||
|
[Aa][Rr][Mm]/
|
||||||
|
[Aa][Rr][Mm]64/
|
||||||
|
bld/
|
||||||
|
[Bb]in/
|
||||||
|
[Oo]bj/
|
||||||
|
[Ll]og/
|
||||||
|
[Ll]ogs/
|
||||||
|
|
||||||
|
# Visual Studio 2015/2017 cache/options directory
|
||||||
|
.vs/
|
||||||
|
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||||
|
#wwwroot/
|
||||||
|
|
||||||
|
# Visual Studio 2017 auto generated files
|
||||||
|
Generated\ Files/
|
||||||
|
|
||||||
|
# MSTest test Results
|
||||||
|
[Tt]est[Rr]esult*/
|
||||||
|
[Bb]uild[Ll]og.*
|
||||||
|
|
||||||
|
# NUnit
|
||||||
|
*.VisualState.xml
|
||||||
|
TestResult.xml
|
||||||
|
nunit-*.xml
|
||||||
|
|
||||||
|
# Build Results of an ATL Project
|
||||||
|
[Dd]ebugPS/
|
||||||
|
[Rr]eleasePS/
|
||||||
|
dlldata.c
|
||||||
|
|
||||||
|
# Benchmark Results
|
||||||
|
BenchmarkDotNet.Artifacts/
|
||||||
|
|
||||||
|
# .NET Core
|
||||||
|
project.lock.json
|
||||||
|
project.fragment.lock.json
|
||||||
|
artifacts/
|
||||||
|
|
||||||
|
# ASP.NET Scaffolding
|
||||||
|
ScaffoldingReadMe.txt
|
||||||
|
|
||||||
|
# StyleCop
|
||||||
|
StyleCopReport.xml
|
||||||
|
|
||||||
|
# Files built by Visual Studio
|
||||||
|
*_i.c
|
||||||
|
*_p.c
|
||||||
|
*_h.h
|
||||||
|
*.ilk
|
||||||
|
*.meta
|
||||||
|
*.obj
|
||||||
|
*.iobj
|
||||||
|
*.pch
|
||||||
|
*.pdb
|
||||||
|
*.ipdb
|
||||||
|
*.pgc
|
||||||
|
*.pgd
|
||||||
|
*.rsp
|
||||||
|
*.sbr
|
||||||
|
*.tlb
|
||||||
|
*.tli
|
||||||
|
*.tlh
|
||||||
|
*.tmp
|
||||||
|
*.tmp_proj
|
||||||
|
*_wpftmp.csproj
|
||||||
|
*.log
|
||||||
|
*.tlog
|
||||||
|
*.vspscc
|
||||||
|
*.vssscc
|
||||||
|
.builds
|
||||||
|
*.pidb
|
||||||
|
*.svclog
|
||||||
|
*.scc
|
||||||
|
|
||||||
|
# Chutzpah Test files
|
||||||
|
_Chutzpah*
|
||||||
|
|
||||||
|
# Visual C++ cache files
|
||||||
|
ipch/
|
||||||
|
*.aps
|
||||||
|
*.ncb
|
||||||
|
*.opendb
|
||||||
|
*.opensdf
|
||||||
|
*.sdf
|
||||||
|
*.cachefile
|
||||||
|
*.VC.db
|
||||||
|
*.VC.VC.opendb
|
||||||
|
|
||||||
|
# Visual Studio profiler
|
||||||
|
*.psess
|
||||||
|
*.vsp
|
||||||
|
*.vspx
|
||||||
|
*.sap
|
||||||
|
|
||||||
|
# Visual Studio Trace Files
|
||||||
|
*.e2e
|
||||||
|
|
||||||
|
# TFS 2012 Local Workspace
|
||||||
|
$tf/
|
||||||
|
|
||||||
|
# Guidance Automation Toolkit
|
||||||
|
*.gpState
|
||||||
|
|
||||||
|
# ReSharper is a .NET coding add-in
|
||||||
|
_ReSharper*/
|
||||||
|
*.[Rr]e[Ss]harper
|
||||||
|
*.DotSettings.user
|
||||||
|
|
||||||
|
# TeamCity is a build add-in
|
||||||
|
_TeamCity*
|
||||||
|
|
||||||
|
# DotCover is a Code Coverage Tool
|
||||||
|
*.dotCover
|
||||||
|
|
||||||
|
# AxoCover is a Code Coverage Tool
|
||||||
|
.axoCover/*
|
||||||
|
!.axoCover/settings.json
|
||||||
|
|
||||||
|
# Coverlet is a free, cross platform Code Coverage Tool
|
||||||
|
coverage*.json
|
||||||
|
coverage*.xml
|
||||||
|
coverage*.info
|
||||||
|
|
||||||
|
# Visual Studio code coverage results
|
||||||
|
*.coverage
|
||||||
|
*.coveragexml
|
||||||
|
|
||||||
|
# NCrunch
|
||||||
|
_NCrunch_*
|
||||||
|
.*crunch*.local.xml
|
||||||
|
nCrunchTemp_*
|
||||||
|
|
||||||
|
# MightyMoose
|
||||||
|
*.mm.*
|
||||||
|
AutoTest.Net/
|
||||||
|
|
||||||
|
# Web workbench (sass)
|
||||||
|
.sass-cache/
|
||||||
|
|
||||||
|
# Installshield output folder
|
||||||
|
[Ee]xpress/
|
||||||
|
|
||||||
|
# DocProject is a documentation generator add-in
|
||||||
|
DocProject/buildhelp/
|
||||||
|
DocProject/Help/*.HxT
|
||||||
|
DocProject/Help/*.HxC
|
||||||
|
DocProject/Help/*.hhc
|
||||||
|
DocProject/Help/*.hhk
|
||||||
|
DocProject/Help/*.hhp
|
||||||
|
DocProject/Help/Html2
|
||||||
|
DocProject/Help/html
|
||||||
|
|
||||||
|
# Click-Once directory
|
||||||
|
publish/
|
||||||
|
|
||||||
|
# Publish Web Output
|
||||||
|
*.[Pp]ublish.xml
|
||||||
|
*.azurePubxml
|
||||||
|
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||||
|
# but database connection strings (with potential passwords) will be unencrypted
|
||||||
|
*.pubxml
|
||||||
|
*.publishproj
|
||||||
|
|
||||||
|
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||||
|
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||||
|
# in these scripts will be unencrypted
|
||||||
|
PublishScripts/
|
||||||
|
|
||||||
|
# NuGet Packages
|
||||||
|
*.nupkg
|
||||||
|
# NuGet Symbol Packages
|
||||||
|
*.snupkg
|
||||||
|
# The packages folder can be ignored because of Package Restore
|
||||||
|
**/[Pp]ackages/*
|
||||||
|
# except build/, which is used as an MSBuild target.
|
||||||
|
!**/[Pp]ackages/build/
|
||||||
|
# Uncomment if necessary however generally it will be regenerated when needed
|
||||||
|
#!**/[Pp]ackages/repositories.config
|
||||||
|
# NuGet v3's project.json files produces more ignorable files
|
||||||
|
*.nuget.props
|
||||||
|
*.nuget.targets
|
||||||
|
|
||||||
|
# Microsoft Azure Build Output
|
||||||
|
csx/
|
||||||
|
*.build.csdef
|
||||||
|
|
||||||
|
# Microsoft Azure Emulator
|
||||||
|
ecf/
|
||||||
|
rcf/
|
||||||
|
|
||||||
|
# Windows Store app package directories and files
|
||||||
|
AppPackages/
|
||||||
|
BundleArtifacts/
|
||||||
|
Package.StoreAssociation.xml
|
||||||
|
_pkginfo.txt
|
||||||
|
*.appx
|
||||||
|
*.appxbundle
|
||||||
|
*.appxupload
|
||||||
|
|
||||||
|
# Visual Studio cache files
|
||||||
|
# files ending in .cache can be ignored
|
||||||
|
*.[Cc]ache
|
||||||
|
# but keep track of directories ending in .cache
|
||||||
|
!?*.[Cc]ache/
|
||||||
|
|
||||||
|
# Others
|
||||||
|
ClientBin/
|
||||||
|
~$*
|
||||||
|
*~
|
||||||
|
*.dbmdl
|
||||||
|
*.dbproj.schemaview
|
||||||
|
*.jfm
|
||||||
|
*.pfx
|
||||||
|
*.publishsettings
|
||||||
|
orleans.codegen.cs
|
||||||
|
|
||||||
|
# Including strong name files can present a security risk
|
||||||
|
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||||
|
#*.snk
|
||||||
|
|
||||||
|
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||||
|
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||||
|
#bower_components/
|
||||||
|
|
||||||
|
# RIA/Silverlight projects
|
||||||
|
Generated_Code/
|
||||||
|
|
||||||
|
# Backup & report files from converting an old project file
|
||||||
|
# to a newer Visual Studio version. Backup files are not needed,
|
||||||
|
# because we have git ;-)
|
||||||
|
_UpgradeReport_Files/
|
||||||
|
Backup*/
|
||||||
|
UpgradeLog*.XML
|
||||||
|
UpgradeLog*.htm
|
||||||
|
ServiceFabricBackup/
|
||||||
|
*.rptproj.bak
|
||||||
|
|
||||||
|
# SQL Server files
|
||||||
|
*.mdf
|
||||||
|
*.ldf
|
||||||
|
*.ndf
|
||||||
|
|
||||||
|
# Business Intelligence projects
|
||||||
|
*.rdl.data
|
||||||
|
*.bim.layout
|
||||||
|
*.bim_*.settings
|
||||||
|
*.rptproj.rsuser
|
||||||
|
*- [Bb]ackup.rdl
|
||||||
|
*- [Bb]ackup ([0-9]).rdl
|
||||||
|
*- [Bb]ackup ([0-9][0-9]).rdl
|
||||||
|
|
||||||
|
# Microsoft Fakes
|
||||||
|
FakesAssemblies/
|
||||||
|
|
||||||
|
# GhostDoc plugin setting file
|
||||||
|
*.GhostDoc.xml
|
||||||
|
|
||||||
|
# Node.js Tools for Visual Studio
|
||||||
|
.ntvs_analysis.dat
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
# Visual Studio 6 build log
|
||||||
|
*.plg
|
||||||
|
|
||||||
|
# Visual Studio 6 workspace options file
|
||||||
|
*.opt
|
||||||
|
|
||||||
|
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||||
|
*.vbw
|
||||||
|
|
||||||
|
# Visual Studio 6 auto-generated project file (contains which files were open etc.)
|
||||||
|
*.vbp
|
||||||
|
|
||||||
|
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
|
||||||
|
*.dsw
|
||||||
|
*.dsp
|
||||||
|
|
||||||
|
# Visual Studio 6 technical files
|
||||||
|
*.ncb
|
||||||
|
*.aps
|
||||||
|
|
||||||
|
# Visual Studio LightSwitch build output
|
||||||
|
**/*.HTMLClient/GeneratedArtifacts
|
||||||
|
**/*.DesktopClient/GeneratedArtifacts
|
||||||
|
**/*.DesktopClient/ModelManifest.xml
|
||||||
|
**/*.Server/GeneratedArtifacts
|
||||||
|
**/*.Server/ModelManifest.xml
|
||||||
|
_Pvt_Extensions
|
||||||
|
|
||||||
|
# Paket dependency manager
|
||||||
|
.paket/paket.exe
|
||||||
|
paket-files/
|
||||||
|
|
||||||
|
# FAKE - F# Make
|
||||||
|
.fake/
|
||||||
|
|
||||||
|
# CodeRush personal settings
|
||||||
|
.cr/personal
|
||||||
|
|
||||||
|
# Python Tools for Visual Studio (PTVS)
|
||||||
|
__pycache__/
|
||||||
|
*.pyc
|
||||||
|
|
||||||
|
# Cake - Uncomment if you are using it
|
||||||
|
# tools/**
|
||||||
|
# !tools/packages.config
|
||||||
|
|
||||||
|
# Tabs Studio
|
||||||
|
*.tss
|
||||||
|
|
||||||
|
# Telerik's JustMock configuration file
|
||||||
|
*.jmconfig
|
||||||
|
|
||||||
|
# BizTalk build output
|
||||||
|
*.btp.cs
|
||||||
|
*.btm.cs
|
||||||
|
*.odx.cs
|
||||||
|
*.xsd.cs
|
||||||
|
|
||||||
|
# OpenCover UI analysis results
|
||||||
|
OpenCover/
|
||||||
|
|
||||||
|
# Azure Stream Analytics local run output
|
||||||
|
ASALocalRun/
|
||||||
|
|
||||||
|
# MSBuild Binary and Structured Log
|
||||||
|
*.binlog
|
||||||
|
|
||||||
|
# NVidia Nsight GPU debugger configuration file
|
||||||
|
*.nvuser
|
||||||
|
|
||||||
|
# MFractors (Xamarin productivity tool) working folder
|
||||||
|
.mfractor/
|
||||||
|
|
||||||
|
# Local History for Visual Studio
|
||||||
|
.localhistory/
|
||||||
|
|
||||||
|
# Visual Studio History (VSHistory) files
|
||||||
|
.vshistory/
|
||||||
|
|
||||||
|
# BeatPulse healthcheck temp database
|
||||||
|
healthchecksdb
|
||||||
|
|
||||||
|
# Backup folder for Package Reference Convert tool in Visual Studio 2017
|
||||||
|
MigrationBackup/
|
||||||
|
|
||||||
|
# Ionide (cross platform F# VS Code tools) working folder
|
||||||
|
.ionide/
|
||||||
|
|
||||||
|
# Fody - auto-generated XML schema
|
||||||
|
FodyWeavers.xsd
|
||||||
|
|
||||||
|
# VS Code files for those working on multiple tools
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
*.code-workspace
|
||||||
|
|
||||||
|
# Local History for Visual Studio Code
|
||||||
|
.history/
|
||||||
|
|
||||||
|
# Windows Installer files from build outputs
|
||||||
|
*.cab
|
||||||
|
*.msi
|
||||||
|
*.msix
|
||||||
|
*.msm
|
||||||
|
*.msp
|
||||||
|
|
||||||
|
# JetBrains Rider
|
||||||
|
*.sln.iml
|
9
LVGL Simulator/.gitmodules
vendored
Normal file
9
LVGL Simulator/.gitmodules
vendored
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
[submodule "LvglPlatform/lvgl"]
|
||||||
|
path = LvglPlatform/lvgl
|
||||||
|
url = https://github.com/lvgl/lvgl
|
||||||
|
[submodule "LvglPlatform/lv_drivers"]
|
||||||
|
path = LvglPlatform/lv_drivers
|
||||||
|
url = https://github.com/lvgl/lv_drivers
|
||||||
|
[submodule "LvglPlatform/freetype"]
|
||||||
|
path = LvglPlatform/freetype
|
||||||
|
url = https://github.com/freetype/freetype
|
34
LVGL Simulator/BuildAllTargets.cmd
Normal file
34
LVGL Simulator/BuildAllTargets.cmd
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
@rem
|
||||||
|
@rem PROJECT: Mouri Internal Library Essentials
|
||||||
|
@rem FILE: BuildAllTargets.cmd
|
||||||
|
@rem PURPOSE: Build all targets script for Visual Studio C++ Project
|
||||||
|
@rem
|
||||||
|
@rem LICENSE: The MIT License
|
||||||
|
@rem
|
||||||
|
@rem DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
@rem
|
||||||
|
|
||||||
|
@setlocal
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
rem Change to the current folder.
|
||||||
|
cd "%~dp0"
|
||||||
|
|
||||||
|
rem Remove the output folder for a fresh compile.
|
||||||
|
rd /s /q Output
|
||||||
|
|
||||||
|
set VisualStudioInstallerFolder="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer"
|
||||||
|
if %PROCESSOR_ARCHITECTURE%==x86 set VisualStudioInstallerFolder="%ProgramFiles%\Microsoft Visual Studio\Installer"
|
||||||
|
|
||||||
|
pushd %VisualStudioInstallerFolder%
|
||||||
|
for /f "usebackq tokens=*" %%i in (`vswhere -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do (
|
||||||
|
set VisualStudioInstallDir=%%i
|
||||||
|
)
|
||||||
|
popd
|
||||||
|
|
||||||
|
call "%VisualStudioInstallDir%\VC\Auxiliary\Build\vcvarsall.bat" x86
|
||||||
|
|
||||||
|
rem Build all targets
|
||||||
|
MSBuild -m BuildAllTargets.proj
|
||||||
|
|
||||||
|
@endlocal
|
60
LVGL Simulator/BuildAllTargets.proj
Normal file
60
LVGL Simulator/BuildAllTargets.proj
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
PROJECT: Mouri Internal Library Essentials
|
||||||
|
FILE: BuildAllTargets.proj
|
||||||
|
PURPOSE: Build all targets script for Visual Studio C++ Project
|
||||||
|
|
||||||
|
LICENSE: The MIT License
|
||||||
|
|
||||||
|
DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
-->
|
||||||
|
<Project
|
||||||
|
DefaultTargets="Restore;Build"
|
||||||
|
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<SolutionPath>$(MSBuildThisFileDirectory)*.sln</SolutionPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="$(SolutionPath)">
|
||||||
|
<AdditionalProperties>Configuration=Debug;Platform=x86</AdditionalProperties>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="$(SolutionPath)">
|
||||||
|
<AdditionalProperties>Configuration=Release;Platform=x86</AdditionalProperties>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="$(SolutionPath)">
|
||||||
|
<AdditionalProperties>Configuration=Debug;Platform=x64</AdditionalProperties>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="$(SolutionPath)">
|
||||||
|
<AdditionalProperties>Configuration=Release;Platform=x64</AdditionalProperties>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="$(SolutionPath)">
|
||||||
|
<AdditionalProperties>Configuration=Debug;Platform=ARM64</AdditionalProperties>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="$(SolutionPath)">
|
||||||
|
<AdditionalProperties>Configuration=Release;Platform=ARM64</AdditionalProperties>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Target Name="Restore" >
|
||||||
|
<MSBuild
|
||||||
|
Projects="@(ProjectReference)"
|
||||||
|
Targets="Restore"
|
||||||
|
StopOnFirstFailure="True"
|
||||||
|
Properties="PreferredToolArchitecture=x64" />
|
||||||
|
</Target>
|
||||||
|
<Target Name="Build" >
|
||||||
|
<MSBuild
|
||||||
|
Projects="@(ProjectReference)"
|
||||||
|
Targets="Build"
|
||||||
|
BuildInParallel="True"
|
||||||
|
StopOnFirstFailure="True"
|
||||||
|
Properties="PreferredToolArchitecture=x64" />
|
||||||
|
</Target>
|
||||||
|
<Target Name="Rebuild" >
|
||||||
|
<MSBuild
|
||||||
|
Projects="@(ProjectReference)"
|
||||||
|
Targets="Rebuild"
|
||||||
|
BuildInParallel="True"
|
||||||
|
StopOnFirstFailure="True"
|
||||||
|
Properties="PreferredToolArchitecture=x64" />
|
||||||
|
</Target>
|
||||||
|
</Project>
|
43
LVGL Simulator/Directory.Build.props
Normal file
43
LVGL Simulator/Directory.Build.props
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
PROJECT: Mouri Internal Library Essentials
|
||||||
|
FILE: Directory.Build.props
|
||||||
|
PURPOSE: Global settings for Visual Studio C++ Project
|
||||||
|
|
||||||
|
LICENSE: The MIT License
|
||||||
|
|
||||||
|
DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
-->
|
||||||
|
<Project>
|
||||||
|
<PropertyGroup>
|
||||||
|
<MileProjectOutputPath>$(MSBuildThisFileDirectory)Output\</MileProjectOutputPath>
|
||||||
|
<MileProjectBinariesPath>$(MileProjectOutputPath)Binaries\</MileProjectBinariesPath>
|
||||||
|
<MileProjectObjectsPath>$(MileProjectOutputPath)Objects\</MileProjectObjectsPath>
|
||||||
|
<GenerateProjectSpecificOutputFolder>False</GenerateProjectSpecificOutputFolder>
|
||||||
|
<MSBuildProjectExtensionsPath>$(MileProjectObjectsPath)$(Configuration)\$(MSBuildProjectName)\obj\</MSBuildProjectExtensionsPath>
|
||||||
|
<AppxPackageDir>$(MileProjectBinariesPath)AppPackages\$(ProjectName)\</AppxPackageDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(MSBuildProjectExtension)' == '.vcxproj'">
|
||||||
|
<OutDir>$(MileProjectBinariesPath)$(Configuration)\$(Platform)\</OutDir>
|
||||||
|
<IntDir>$(MileProjectObjectsPath)$(Configuration)\$(MSBuildProjectName)\$(Platform)\</IntDir>
|
||||||
|
<GeneratedFilesDir>$(IntDir)Generated Files\</GeneratedFilesDir>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(MSBuildProjectExtension)' == '.wapproj'">
|
||||||
|
<OutputPath>$(MileProjectBinariesPath)$(Configuration)\$(MSBuildProjectName)\$(Platform)\</OutputPath>
|
||||||
|
<IntermediateOutputPath>$(MileProjectObjectsPath)$(Configuration)\$(MSBuildProjectName)\</IntermediateOutputPath>
|
||||||
|
<BaseIntermediateOutputPath>$(IntermediateOutputPath)</BaseIntermediateOutputPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup Label="NuGet" Condition="'$(MSBuildProjectExtension)' == '.vcxproj'">
|
||||||
|
<ProjectCapability Include="PackageReferences" />
|
||||||
|
</ItemGroup>
|
||||||
|
<PropertyGroup Label="NuGet" Condition="('$(MSBuildProjectExtension)' == '.vcxproj') Or ('$(MSBuildProjectExtension)' == '.wapproj')">
|
||||||
|
<!-- https://github.com/microsoft/react-native-windows/pull/8195 -->
|
||||||
|
<AssetTargetFallback>$(AssetTargetFallback);native;uap$(TargetPlatformVersion);</AssetTargetFallback>
|
||||||
|
<!-- https://github.com/microsoft/react-native-windows/pull/8195 -->
|
||||||
|
<TargetFrameworkMoniker>native,Version=v0.0</TargetFrameworkMoniker>
|
||||||
|
<NuGetTargetMoniker>native,Version=v0.0</NuGetTargetMoniker>
|
||||||
|
<TargetFrameworkMoniker Condition ="'$(DesignTimeBuild)' == 'true'">.NETCore,Version=v5.0</TargetFrameworkMoniker>
|
||||||
|
<NuGetTargetMoniker Condition ="'$(DesignTimeBuild)' == 'true'">.NETCore,Version=v5.0</NuGetTargetMoniker>
|
||||||
|
<RuntimeIdentifiers>win;win-x86;win-x64;win-arm;win-arm64;win10-x86;win10-x64;win10-arm;win10-arm64</RuntimeIdentifiers>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
18
LVGL Simulator/Documents/Arm32SupportRemovedNotice.md
Normal file
18
LVGL Simulator/Documents/Arm32SupportRemovedNotice.md
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# ARM32 Support Removed Notice
|
||||||
|
|
||||||
|
For deliberated consideration, This project will remove the ARM32 support on
|
||||||
|
the Windows platform. Here are the reasons:
|
||||||
|
|
||||||
|
- The latest version of ARM32 version for Windows desktop is Redstone 2 Insider
|
||||||
|
Build 15035. I know Windows RT 8.1 and Windows 10 IoT Core aren't in the
|
||||||
|
stage of end of support, but most of daily users are drop their devices
|
||||||
|
(Windows RT 8.x tablets) or have a better solution (Windows 10 IoT Core users
|
||||||
|
on Raspberry Pi devices should migrate to Linux or ARM64 version for Windows
|
||||||
|
10 desktop).
|
||||||
|
- Future ARM processors are deprecating ARM32 ISA support, and Apple Silicon M1
|
||||||
|
had dropped the ARM32 support at all. So we can't run ARM32 version of Windows
|
||||||
|
desktop applications on these devices. According to
|
||||||
|
https://learn.microsoft.com/en-us/windows/arm/arm32-to-arm64, we will know
|
||||||
|
Microsoft will remove the support for 32-bit ARM versions of applications in
|
||||||
|
a future release of Windows 11.
|
||||||
|
- Reduce the size of release package and make the continuous integration faster.
|
21
LVGL Simulator/LICENSE
Normal file
21
LVGL Simulator/LICENSE
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2019 Littlev Graphics Library
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
37
LVGL Simulator/LVGL.Simulator.sln
Normal file
37
LVGL Simulator/LVGL.Simulator.sln
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 16
|
||||||
|
VisualStudioVersion = 16.0.30907.101
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "LVGL.Simulator", "LVGL.Simulator\LVGL.Simulator.vcxproj", "{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|ARM64 = Debug|ARM64
|
||||||
|
Debug|x64 = Debug|x64
|
||||||
|
Debug|x86 = Debug|x86
|
||||||
|
Release|ARM64 = Release|ARM64
|
||||||
|
Release|x64 = Release|x64
|
||||||
|
Release|x86 = Release|x86
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|ARM64.ActiveCfg = Debug|ARM64
|
||||||
|
{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|ARM64.Build.0 = Debug|ARM64
|
||||||
|
{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|x64.ActiveCfg = Debug|x64
|
||||||
|
{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|x64.Build.0 = Debug|x64
|
||||||
|
{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|x86.ActiveCfg = Debug|Win32
|
||||||
|
{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Debug|x86.Build.0 = Debug|Win32
|
||||||
|
{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|ARM64.ActiveCfg = Release|ARM64
|
||||||
|
{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|ARM64.Build.0 = Release|ARM64
|
||||||
|
{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|x64.ActiveCfg = Release|x64
|
||||||
|
{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|x64.Build.0 = Release|x64
|
||||||
|
{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|x86.ActiveCfg = Release|Win32
|
||||||
|
{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}.Release|x86.Build.0 = Release|Win32
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {F07B2868-97B2-414D-A20F-85B77051DE80}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
75
LVGL Simulator/LVGL.Simulator/LVGL.Drivers.vcxitems
Normal file
75
LVGL Simulator/LVGL.Simulator/LVGL.Drivers.vcxitems
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\drm.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\fbdev.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\GC9A01.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ILI9341.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\monitor.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\R61581.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SHARP_MIP.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SSD1963.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ST7565.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\UC1610.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\gtkdrv.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\AD_touch.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\evdev.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\FT5406EE8.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\keyboard.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\libinput_drv.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\mouse.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\mousewheel.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\xkb.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\XPT2046.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_common.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_common_internal.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_gpu.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\wayland.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win32drv\win32drv.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\lv_drv_conf_template.h" />
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win_drv.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\drm.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\fbdev.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\GC9A01.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ILI9341.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\R61581.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SHARP_MIP.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SSD1963.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ST7565.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\UC1610.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\gtkdrv.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\AD_touch.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\evdev.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\FT5406EE8.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\libinput.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\xkb.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\XPT2046.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_common.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_gpu.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\wayland.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win32drv\win32drv.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win_drv.c" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.github\auto-comment.yml" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.github\stale.yml" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\docs\astyle_c" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\docs\astyle_h" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\broadway.png" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\README.md" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\.gitignore" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\CMakeLists.txt" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\README.md" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.git" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.gitignore" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\CMakeLists.txt" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\library.json" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\LICENSE" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\lv_drivers.mk" />
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\README.md" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
236
LVGL Simulator/LVGL.Simulator/LVGL.Drivers.vcxitems.filters
Normal file
236
LVGL Simulator/LVGL.Simulator/LVGL.Drivers.vcxitems.filters
Normal file
|
@ -0,0 +1,236 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup>
|
||||||
|
<Filter Include="lv_drivers">
|
||||||
|
<UniqueIdentifier>{7566e42d-eb8e-4f4d-9033-cd06054697d8}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="lv_drivers\.github">
|
||||||
|
<UniqueIdentifier>{74500504-af40-4255-9f53-4d92c5e229f8}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="lv_drivers\display">
|
||||||
|
<UniqueIdentifier>{ca30f9f2-a3d9-4bca-80b5-f382e189249d}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="lv_drivers\docs">
|
||||||
|
<UniqueIdentifier>{5f6b676a-921b-48d7-a991-daf4a08dfca1}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="lv_drivers\gtkdrv">
|
||||||
|
<UniqueIdentifier>{fd61c315-6817-4014-ab7d-1b3caefe224c}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="lv_drivers\indev">
|
||||||
|
<UniqueIdentifier>{074645d5-764c-40e1-9bc3-937ae2d66eb8}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="lv_drivers\sdl">
|
||||||
|
<UniqueIdentifier>{8c46100e-c005-4d33-92a5-bbea97ac768d}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="lv_drivers\wayland">
|
||||||
|
<UniqueIdentifier>{d40a3a90-9405-47e0-83b4-0ff7f537e61a}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="lv_drivers\win32drv">
|
||||||
|
<UniqueIdentifier>{d67ee931-45e6-400d-b41c-4c1e0237f695}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\drm.h">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\fbdev.h">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\GC9A01.h">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ILI9341.h">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\monitor.h">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\R61581.h">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SHARP_MIP.h">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SSD1963.h">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ST7565.h">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\UC1610.h">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\gtkdrv.h">
|
||||||
|
<Filter>lv_drivers\gtkdrv</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\AD_touch.h">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\evdev.h">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\FT5406EE8.h">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\keyboard.h">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\libinput_drv.h">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\mouse.h">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\mousewheel.h">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\xkb.h">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\XPT2046.h">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl.h">
|
||||||
|
<Filter>lv_drivers\sdl</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_common.h">
|
||||||
|
<Filter>lv_drivers\sdl</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_common_internal.h">
|
||||||
|
<Filter>lv_drivers\sdl</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_gpu.h">
|
||||||
|
<Filter>lv_drivers\sdl</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\wayland.h">
|
||||||
|
<Filter>lv_drivers\wayland</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win32drv\win32drv.h">
|
||||||
|
<Filter>lv_drivers\win32drv</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\lv_drv_conf_template.h">
|
||||||
|
<Filter>lv_drivers</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win_drv.h">
|
||||||
|
<Filter>lv_drivers</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\drm.c">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\fbdev.c">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\GC9A01.c">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ILI9341.c">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\R61581.c">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SHARP_MIP.c">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\SSD1963.c">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\ST7565.c">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\display\UC1610.c">
|
||||||
|
<Filter>lv_drivers\display</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\gtkdrv.c">
|
||||||
|
<Filter>lv_drivers\gtkdrv</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\AD_touch.c">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\evdev.c">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\FT5406EE8.c">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\libinput.c">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\xkb.c">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\indev\XPT2046.c">
|
||||||
|
<Filter>lv_drivers\indev</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl.c">
|
||||||
|
<Filter>lv_drivers\sdl</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_common.c">
|
||||||
|
<Filter>lv_drivers\sdl</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\sdl\sdl_gpu.c">
|
||||||
|
<Filter>lv_drivers\sdl</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\wayland.c">
|
||||||
|
<Filter>lv_drivers\wayland</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win32drv\win32drv.c">
|
||||||
|
<Filter>lv_drivers\win32drv</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\win_drv.c">
|
||||||
|
<Filter>lv_drivers</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.github\auto-comment.yml">
|
||||||
|
<Filter>lv_drivers\.github</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.github\stale.yml">
|
||||||
|
<Filter>lv_drivers\.github</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\docs\astyle_c">
|
||||||
|
<Filter>lv_drivers\docs</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\docs\astyle_h">
|
||||||
|
<Filter>lv_drivers\docs</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\broadway.png">
|
||||||
|
<Filter>lv_drivers\gtkdrv</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\gtkdrv\README.md">
|
||||||
|
<Filter>lv_drivers\gtkdrv</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\.gitignore">
|
||||||
|
<Filter>lv_drivers\wayland</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\CMakeLists.txt">
|
||||||
|
<Filter>lv_drivers\wayland</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\wayland\README.md">
|
||||||
|
<Filter>lv_drivers\wayland</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.git">
|
||||||
|
<Filter>lv_drivers</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\.gitignore">
|
||||||
|
<Filter>lv_drivers</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\CMakeLists.txt">
|
||||||
|
<Filter>lv_drivers</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\library.json">
|
||||||
|
<Filter>lv_drivers</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\LICENSE">
|
||||||
|
<Filter>lv_drivers</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\lv_drivers.mk">
|
||||||
|
<Filter>lv_drivers</Filter>
|
||||||
|
</None>
|
||||||
|
<None Include="$(MSBuildThisFileDirectory)..\LvglPlatform\lv_drivers\README.md">
|
||||||
|
<Filter>lv_drivers</Filter>
|
||||||
|
</None>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
1214
LVGL Simulator/LVGL.Simulator/LVGL.Portable.vcxitems
Normal file
1214
LVGL Simulator/LVGL.Simulator/LVGL.Portable.vcxitems
Normal file
File diff suppressed because it is too large
Load diff
4214
LVGL Simulator/LVGL.Simulator/LVGL.Portable.vcxitems.filters
Normal file
4214
LVGL Simulator/LVGL.Simulator/LVGL.Portable.vcxitems.filters
Normal file
File diff suppressed because it is too large
Load diff
884
LVGL Simulator/LVGL.Simulator/LVGL.Simulator.cpp
Normal file
884
LVGL Simulator/LVGL.Simulator/LVGL.Simulator.cpp
Normal file
|
@ -0,0 +1,884 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: LVGL PC Simulator using Visual Studio
|
||||||
|
* FILE: LVGL.Simulator.cpp
|
||||||
|
* PURPOSE: Implementation for LVGL ported to Windows Desktop
|
||||||
|
*
|
||||||
|
* LICENSE: The MIT License
|
||||||
|
*
|
||||||
|
* DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <Windows.h>
|
||||||
|
#include <string>
|
||||||
|
#include "resource.h"
|
||||||
|
|
||||||
|
#if _MSC_VER >= 1200
|
||||||
|
// Disable compilation warnings.
|
||||||
|
#pragma warning(push)
|
||||||
|
// nonstandard extension used : bit field types other than int
|
||||||
|
#pragma warning(disable:4214)
|
||||||
|
// 'conversion' conversion from 'type1' to 'type2', possible loss of data
|
||||||
|
#pragma warning(disable:4244)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "lvgl/lvgl.h"
|
||||||
|
#include "lv_drivers/win32drv/win32drv.h"
|
||||||
|
|
||||||
|
#if _MSC_VER >= 1200
|
||||||
|
// Restore compilation warnings.
|
||||||
|
#pragma warning(pop)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
bool single_display_mode_initialization()
|
||||||
|
{
|
||||||
|
if (!lv_win32_init(
|
||||||
|
GetModuleHandleW(NULL),
|
||||||
|
SW_SHOW,
|
||||||
|
240,
|
||||||
|
320,
|
||||||
|
LoadIconW(GetModuleHandleW(NULL), MAKEINTRESOURCE(IDI_LVGL))))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
lv_win32_add_all_input_devices_to_group(NULL);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
#include <process.h>
|
||||||
|
|
||||||
|
HANDLE g_window_mutex = NULL;
|
||||||
|
bool g_initialization_status = false;
|
||||||
|
|
||||||
|
#define LVGL_SIMULATOR_MAXIMUM_DISPLAYS 16
|
||||||
|
HWND g_display_window_handles[LVGL_SIMULATOR_MAXIMUM_DISPLAYS];
|
||||||
|
|
||||||
|
|
||||||
|
#define screenWidth 240
|
||||||
|
#define screenHeight 320
|
||||||
|
|
||||||
|
unsigned int __stdcall lv_win32_window_thread_entrypoint(
|
||||||
|
void* raw_parameter)
|
||||||
|
{
|
||||||
|
size_t display_id = *(size_t*)(raw_parameter);
|
||||||
|
|
||||||
|
HINSTANCE instance_handle = GetModuleHandleW(NULL);
|
||||||
|
int show_window_mode = SW_SHOW;
|
||||||
|
HICON icon_handle = LoadIconW(instance_handle, MAKEINTRESOURCE(IDI_LVGL));
|
||||||
|
lv_coord_t hor_res = 240;
|
||||||
|
lv_coord_t ver_res = 320;
|
||||||
|
|
||||||
|
wchar_t window_title[256];
|
||||||
|
memset(window_title, 0, sizeof(window_title));
|
||||||
|
_snwprintf(
|
||||||
|
window_title,
|
||||||
|
256,
|
||||||
|
L"LVGL Simulator for Windows Desktop (Display %d)",
|
||||||
|
display_id);
|
||||||
|
|
||||||
|
g_display_window_handles[display_id] = lv_win32_create_display_window(
|
||||||
|
window_title,
|
||||||
|
hor_res,
|
||||||
|
ver_res,
|
||||||
|
instance_handle,
|
||||||
|
icon_handle,
|
||||||
|
show_window_mode);
|
||||||
|
if (!g_display_window_handles[display_id])
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
g_initialization_status = true;
|
||||||
|
|
||||||
|
SetEvent(g_window_mutex);
|
||||||
|
|
||||||
|
MSG message;
|
||||||
|
while (GetMessageW(&message, NULL, 0, 0))
|
||||||
|
{
|
||||||
|
TranslateMessage(&message);
|
||||||
|
DispatchMessageW(&message);
|
||||||
|
}
|
||||||
|
|
||||||
|
lv_win32_quit_signal = true;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool multiple_display_mode_initialization()
|
||||||
|
{
|
||||||
|
if (!lv_win32_init_window_class())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (size_t i = 0; i < LVGL_SIMULATOR_MAXIMUM_DISPLAYS; ++i)
|
||||||
|
{
|
||||||
|
g_initialization_status = false;
|
||||||
|
|
||||||
|
g_window_mutex = CreateEventExW(NULL, NULL, 0, EVENT_ALL_ACCESS);
|
||||||
|
|
||||||
|
_beginthreadex(
|
||||||
|
NULL,
|
||||||
|
0,
|
||||||
|
lv_win32_window_thread_entrypoint,
|
||||||
|
&i,
|
||||||
|
0,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
WaitForSingleObjectEx(g_window_mutex, INFINITE, FALSE);
|
||||||
|
|
||||||
|
CloseHandle(g_window_mutex);
|
||||||
|
|
||||||
|
if (!g_initialization_status)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
lv_win32_window_context_t* context = (lv_win32_window_context_t*)(
|
||||||
|
lv_win32_get_window_context(g_display_window_handles[0]));
|
||||||
|
if (context)
|
||||||
|
{
|
||||||
|
lv_win32_pointer_device_object = context->mouse_device_object;
|
||||||
|
lv_win32_keypad_device_object = context->keyboard_device_object;
|
||||||
|
lv_win32_encoder_device_object = context->mousewheel_device_object;
|
||||||
|
}
|
||||||
|
|
||||||
|
lv_win32_add_all_input_devices_to_group(NULL);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
lv_obj_t* panel;
|
||||||
|
byte currentDevice = 4; // Current Device to control (allows switching mappings between devices)
|
||||||
|
byte virtualKeyMapTechnisat[10] = { 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0x0 };
|
||||||
|
bool wakeupByIMUEnabled = true;
|
||||||
|
int backlight_brightness = 255;
|
||||||
|
|
||||||
|
lv_color_t color_primary = lv_color_hex(0x303030); // gray
|
||||||
|
|
||||||
|
|
||||||
|
// Set the page indicator scroll position relative to the tabview scroll position
|
||||||
|
static void store_scroll_value_event_cb(lv_event_t* e) {
|
||||||
|
float bias = (150.0 + 8.0) / 240.0;
|
||||||
|
int offset = 240 / 2 - 150 / 2 - 8 - 50 - 3;
|
||||||
|
lv_obj_t* screen = lv_event_get_target(e);
|
||||||
|
lv_obj_scroll_to_x(panel, lv_obj_get_scroll_x(screen) * bias - offset, LV_ANIM_OFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update current device when the tabview page is changes
|
||||||
|
static void tabview_device_event_cb(lv_event_t* e) {
|
||||||
|
currentDevice = lv_tabview_get_tab_act(lv_event_get_target(e));
|
||||||
|
}
|
||||||
|
|
||||||
|
// Backlight Slider Event handler
|
||||||
|
static void bl_slider_event_cb(lv_event_t* e) {
|
||||||
|
lv_obj_t* slider = lv_event_get_target(e);
|
||||||
|
backlight_brightness = 255;//constrain(lv_slider_get_value(slider), 60, 255);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Apple Key Event handler
|
||||||
|
static void appleKey_event_cb(lv_event_t* e) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// Wakeup by IMU Switch Event handler
|
||||||
|
static void WakeEnableSetting_event_cb(lv_event_t* e) {
|
||||||
|
wakeupByIMUEnabled = lv_obj_has_state(lv_event_get_target(e), LV_STATE_CHECKED);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Smart Home Toggle Event handler
|
||||||
|
static void smartHomeToggle_event_cb(lv_event_t* e) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// Smart Home Toggle Event handler
|
||||||
|
static void smartHomeSlider_event_cb(lv_event_t* e) {
|
||||||
|
}
|
||||||
|
|
||||||
|
// Virtual Keypad Event handler
|
||||||
|
static void virtualKeypad_event_cb(lv_event_t* e) {
|
||||||
|
lv_obj_t* target = lv_event_get_target(e);
|
||||||
|
lv_obj_t* cont = lv_event_get_current_target(e);
|
||||||
|
if (target == cont) return;
|
||||||
|
|
||||||
|
char buffer[100];
|
||||||
|
sprintf_s(buffer, "check it out: %d\n", virtualKeyMapTechnisat[(int)target->user_data]);
|
||||||
|
OutputDebugStringA(buffer);
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||||
|
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t gradientLeft_map[] = {
|
||||||
|
0xfa, 0xf2, 0xea, 0xe2, 0xda, 0xd1, 0xc7, 0xbe, 0xb7, 0xae, 0xa6, 0x9e, 0x95, 0x8d, 0x84, 0x7d, 0x74, 0x6c, 0x62, 0x5a, 0x51, 0x48, 0x41, 0x38, 0x2f, 0x28, 0x1f, 0x17, 0x0f, 0x07,
|
||||||
|
};
|
||||||
|
|
||||||
|
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t gradientRight_map[] = {
|
||||||
|
0x07, 0x0f, 0x17, 0x1f, 0x28, 0x2f, 0x38, 0x41, 0x48, 0x51, 0x5a, 0x62, 0x6c, 0x74, 0x7d, 0x84, 0x8d, 0x95, 0x9e, 0xa6, 0xae, 0xb7, 0xbe, 0xc7, 0xd1, 0xda, 0xe2, 0xea, 0xf2, 0xfa,
|
||||||
|
};
|
||||||
|
|
||||||
|
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t appleTvIcon_map[] = {
|
||||||
|
/*Pixel format: Red: 5 bit, Green: 6 bit, Blue: 5 bit*/
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x42, 0x55, 0xad, 0xdb, 0xde, 0x1c, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xad, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x79, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x21, 0x34, 0xa5, 0x55, 0xad, 0x55, 0xad, 0x55, 0xad, 0x55, 0xad, 0x55, 0xad, 0x55, 0xad, 0xcf, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x76, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x69, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0x65, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb6, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xef, 0x8a, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xd6, 0x08, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xad, 0x9a, 0xd6, 0xd7, 0xbd, 0x8e, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x73, 0xd7, 0xbd, 0xbb, 0xde, 0x3c, 0xe7, 0xfc, 0xe6, 0x39, 0xce, 0x72, 0x94, 0xa7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa3, 0x18, 0x8e, 0x73, 0xd7, 0xbd, 0x1c, 0xe7, 0x9e, 0xf7, 0xbe, 0xf7, 0x5d, 0xef, 0x9a, 0xd6, 0x34, 0xa5, 0x28, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0x6b, 0xfb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x7a, 0xd6, 0x71, 0x8c, 0xa6, 0x31, 0x2d, 0x6b, 0xb6, 0xb5, 0x7d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xd7, 0xbd, 0xa3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb3, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3c, 0xe7, 0x49, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x38, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x69, 0x4a, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x14, 0xa5,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb3, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3d, 0xef, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xf7, 0x45, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0xe7, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x0c, 0x63, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0xeb, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb3, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x14, 0xa5, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xdb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x31, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xe7, 0x39, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x8e, 0x73, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3d, 0xef, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8e, 0x73, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xd6, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x79, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6d, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0xd6, 0x3c, 0xe7, 0x3c, 0xe7, 0x3d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0x3c, 0xe7, 0x3c, 0xe7, 0x3c, 0xe7, 0x3c, 0xe7, 0x3c, 0xe7, 0x96, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x71, 0x8c, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x9e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x18, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0xec, 0x62, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x71, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb7, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x73, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xc5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x31, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x49, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x4d, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6e, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0xd3, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0xe4, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x55, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x34, 0xa5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xeb, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x76, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x34, 0xa5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x28, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2d, 0x6b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x29, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x92, 0x94, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xae, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x96, 0xb5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbb, 0xde, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0xf0, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0xc5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x72, 0x94, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xeb, 0x5a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0x9c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x8a, 0x52, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf, 0xff, 0x28, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbe, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8a, 0x52, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x45, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x9e, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7a, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x75, 0xad, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x9a, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6d, 0x6b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x4a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xf4, 0xa4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x59, 0xce, 0x86, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x49, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x55, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xef, 0xa3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0xa6, 0x31, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0xef, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x96, 0xb5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x14, 0xa5, 0x00, 0x00, 0x00, 0x00, 0xfb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x9a, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0c, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x4a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0x00, 0x00, 0x29, 0x4a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x51, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0x39, 0xf3, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xef, 0x24, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x31, 0x29, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd3, 0x9c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x9c, 0xbb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x14, 0xa5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa7, 0x39, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xe6, 0xd3, 0x9c, 0x51, 0x8c, 0x34, 0xa5, 0x9a, 0xd6, 0xdf, 0xff, 0xf7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa6, 0x31, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0x08, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xe6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1c, 0xe7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9a, 0xd6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0x62, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x79, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xe7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x7b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x51, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x55, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0xe7, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb7, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x30, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x59, 0xce, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x10, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0x41, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xbd, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd7, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x18, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xd6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xb2, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x51, 0x8c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39, 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x63, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8e, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9e, 0xf7, 0x39, 0xce, 0x72, 0x94, 0xcb, 0x5a, 0xa3, 0x18, 0x4d, 0x6b, 0x34, 0xa5, 0xfb, 0xde, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xf7, 0x72, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xaf, 0x7b, 0x3c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7d, 0xef, 0xd7, 0xbd, 0xeb, 0x5a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x5d, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6e, 0x73, 0xf8, 0xc5, 0xba, 0xd6, 0xd7, 0xbd, 0xf0, 0x83, 0xa3, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x49, 0x4a, 0xf3, 0x9c, 0xf8, 0xc5, 0x59, 0xce, 0x55, 0xad, 0x08, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xae, 0x73, 0x76, 0xb5, 0x39, 0xce, 0x7a, 0xd6, 0x39, 0xce, 0xd7, 0xbd, 0xd3, 0x9c, 0xec, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29, 0x4a, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x0c, 0x63, 0x49, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||||
|
};
|
||||||
|
|
||||||
|
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t appleDisplayIcon_map[] = {
|
||||||
|
0x23, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd8, 0x3d,
|
||||||
|
0xaa, 0xfd, 0xad, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0x9a, 0xa1, 0xf7, 0xd8,
|
||||||
|
0xd0, 0xd1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa1, 0xff,
|
||||||
|
0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff,
|
||||||
|
0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff,
|
||||||
|
0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff,
|
||||||
|
0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff,
|
||||||
|
0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff,
|
||||||
|
0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff,
|
||||||
|
0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff,
|
||||||
|
0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff,
|
||||||
|
0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff,
|
||||||
|
0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff,
|
||||||
|
0xd2, 0xcb, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9a, 0xff,
|
||||||
|
0xc6, 0xea, 0x2a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1a, 0x1f, 0xcc, 0xf6,
|
||||||
|
0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x98,
|
||||||
|
0x00, 0x44, 0x7b, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x7d, 0x56, 0x03,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0xb7, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc4, 0xc0, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x19, 0xd3, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xde, 0xdb, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
};
|
||||||
|
|
||||||
|
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t appleBackIcon_map[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x0f, 0x07,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xbe, 0x94,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0xe7, 0xff, 0xf0,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0xfa, 0xff, 0xf5, 0x31,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0xfc, 0xff, 0xea, 0x3e, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4d, 0xee, 0xff, 0xe6, 0x48, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x01, 0x00, 0x50, 0xed, 0xff, 0xe9, 0x39, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x55, 0xfc, 0xff, 0xe7, 0x25, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x59, 0xff, 0xff, 0xe0, 0x2d, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x5e, 0xf6, 0xff, 0xdb, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x64, 0xf4, 0xff, 0xd9, 0x2e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x4d, 0xff, 0xff, 0xce, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x6b, 0xff, 0xff, 0x9e, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x9c, 0xff, 0xff, 0xa8, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x04, 0x8f, 0xff, 0xff, 0xb5, 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x03, 0x91, 0xff, 0xff, 0xba, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x93, 0xff, 0xff, 0xbb, 0x0a, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x01, 0x00, 0x87, 0xfc, 0xff, 0xbf, 0x14, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xfb, 0xff, 0xc5, 0x22, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x78, 0xff, 0xff, 0xca, 0x1e, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75, 0xff, 0xff, 0xd0, 0x11,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x6e, 0xfb, 0xff, 0xcc,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xea, 0xca,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x28, 0x18,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t high_brightness_map[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0xd4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x5c, 0x8e, 0x04, 0x00, 0x00, 0x00, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x04, 0x8e, 0x5c, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x8c, 0xff, 0xa8, 0x01, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x01, 0xa8, 0xff, 0x8c, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x04, 0xa9, 0xf5, 0x0d, 0x00, 0x00, 0x11, 0x11, 0x00, 0x00, 0x0d, 0xf5, 0xa9, 0x04, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x01, 0x0a, 0x00, 0x42, 0xd4, 0xff, 0xff, 0xd4, 0x41, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0xbd, 0xcc, 0xbd, 0x0d, 0x11, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x12, 0x0d, 0xbd, 0xcc, 0xbd,
|
||||||
|
0xbd, 0xcc, 0xbd, 0x0d, 0x11, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x10, 0x0d, 0xbd, 0xcc, 0xbd,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x01, 0x0a, 0x00, 0x40, 0xd3, 0xff, 0xfe, 0xd2, 0x3f, 0x00, 0x0a, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x04, 0xa9, 0xf5, 0x0d, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x0d, 0xf5, 0xa9, 0x04, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x8c, 0xff, 0xa8, 0x01, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x01, 0xa8, 0xff, 0x8c, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x5c, 0x8e, 0x04, 0x00, 0x00, 0x00, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x04, 0x8e, 0x5c, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd4, 0xd4, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
};
|
||||||
|
|
||||||
|
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t low_brightness_map[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x27, 0x72, 0x01, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x01, 0x72, 0x28, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x71, 0xf5, 0x0f, 0x00, 0x00, 0x11, 0x11, 0x00, 0x00, 0x0d, 0xf5, 0x73, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x01, 0x0b, 0x00, 0x42, 0xd4, 0xff, 0xff, 0xd4, 0x41, 0x00, 0x0a, 0x01, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x42, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x40, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x43, 0xbd, 0x0d, 0x11, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x12, 0x0d, 0xbc, 0x44,
|
||||||
|
0x43, 0xbd, 0x0d, 0x11, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x11, 0x0d, 0xbc, 0x44,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0xd4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd2, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x41, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x01, 0x0b, 0x00, 0x40, 0xd3, 0xfe, 0xff, 0xd2, 0x3f, 0x00, 0x0a, 0x01, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x71, 0xf5, 0x0f, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x0d, 0xf5, 0x73, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x27, 0x72, 0x01, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x01, 0x72, 0x28, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbd, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
};
|
||||||
|
|
||||||
|
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST uint8_t lightbulb_map[] = {
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x04, 0x1c, 0x1c, 0x04, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x16, 0x95, 0xee, 0xff, 0xff, 0xee, 0x94, 0x15, 0x00, 0x00,
|
||||||
|
0x00, 0x27, 0xe3, 0xff, 0xcc, 0x8d, 0x8d, 0xcd, 0xff, 0xe1, 0x26, 0x00,
|
||||||
|
0x07, 0xd9, 0xfa, 0x5d, 0x00, 0x00, 0x00, 0x00, 0x5f, 0xfa, 0xd7, 0x06,
|
||||||
|
0x65, 0xff, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7a, 0xff, 0x63,
|
||||||
|
0xb1, 0xf8, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0xf8, 0xaf,
|
||||||
|
0xcc, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdb, 0xcd,
|
||||||
|
0xb1, 0xf5, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0xf1, 0xbd,
|
||||||
|
0x73, 0xff, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x71, 0xff, 0x74,
|
||||||
|
0x0b, 0xd5, 0xfb, 0x40, 0x00, 0x00, 0x00, 0x00, 0x41, 0xfb, 0xd9, 0x0b,
|
||||||
|
0x00, 0x24, 0xef, 0xdc, 0x01, 0x00, 0x00, 0x01, 0xdd, 0xee, 0x24, 0x00,
|
||||||
|
0x00, 0x00, 0x83, 0xff, 0x30, 0x00, 0x00, 0x30, 0xff, 0x81, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x12, 0x6c, 0x06, 0x00, 0x00, 0x06, 0x6c, 0x12, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x25, 0xc7, 0xcc, 0xcc, 0xcc, 0xcc, 0xc7, 0x25, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x25, 0xc7, 0xcc, 0xcc, 0xcc, 0xcc, 0xc7, 0x25, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x1c, 0x76, 0x77, 0x77, 0x76, 0x1c, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x69, 0xff, 0xff, 0xff, 0xff, 0x69, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x01, 0x21, 0x22, 0x22, 0x21, 0x01, 0x00, 0x00, 0x00,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
lv_init();
|
||||||
|
|
||||||
|
if (!single_display_mode_initialization())
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// --- LVGL UI Configuration ---
|
||||||
|
|
||||||
|
// Set the background color
|
||||||
|
lv_obj_set_style_bg_color(lv_scr_act(), lv_color_black(), LV_PART_MAIN);
|
||||||
|
|
||||||
|
// Setup a scrollable tabview for devices and settings
|
||||||
|
lv_obj_t* tabview;
|
||||||
|
tabview = lv_tabview_create(lv_scr_act(), LV_DIR_TOP, 0); // Hide tab labels by setting their height to 0
|
||||||
|
lv_obj_set_style_bg_color(tabview, lv_color_black(), LV_PART_MAIN);
|
||||||
|
lv_obj_set_size(tabview, screenWidth, 270); // 270 = screenHeight(320) - panel(30) - statusbar(20)
|
||||||
|
lv_obj_align(tabview, LV_ALIGN_TOP_MID, 0, 20);
|
||||||
|
|
||||||
|
// Add 4 tabs (names are irrelevant since the labels are hidden)
|
||||||
|
lv_obj_t* tab1 = lv_tabview_add_tab(tabview, "Settings");
|
||||||
|
lv_obj_t* tab2 = lv_tabview_add_tab(tabview, "Technisat");
|
||||||
|
lv_obj_t* tab3 = lv_tabview_add_tab(tabview, "Apple TV");
|
||||||
|
lv_obj_t* tab4 = lv_tabview_add_tab(tabview, "Smart Home");
|
||||||
|
|
||||||
|
// Configure number button grid
|
||||||
|
static lv_coord_t col_dsc[] = { LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_FR(1), LV_GRID_TEMPLATE_LAST }; // equal x distribution
|
||||||
|
static lv_coord_t row_dsc[] = { 52, 52, 52, 52, LV_GRID_TEMPLATE_LAST }; // manual y distribution to compress the grid a bit
|
||||||
|
|
||||||
|
// Create a container with grid for tab2
|
||||||
|
lv_obj_set_style_pad_all(tab2, 0, LV_PART_MAIN);
|
||||||
|
lv_obj_t* cont = lv_obj_create(tab2);
|
||||||
|
lv_obj_set_style_shadow_width(cont, 0, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(cont, lv_color_black(), LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_border_width(cont, 0, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_grid_column_dsc_array(cont, col_dsc, 0);
|
||||||
|
lv_obj_set_style_grid_row_dsc_array(cont, row_dsc, 0);
|
||||||
|
lv_obj_set_size(cont, 240, 270);
|
||||||
|
lv_obj_set_layout(cont, LV_LAYOUT_GRID);
|
||||||
|
lv_obj_align(cont, LV_ALIGN_TOP_MID, 0, 0);
|
||||||
|
lv_obj_set_style_radius(cont, 0, LV_PART_MAIN);
|
||||||
|
|
||||||
|
lv_obj_t* buttonLabel;
|
||||||
|
lv_obj_t* obj;
|
||||||
|
|
||||||
|
// Iterate through grid buttons and configure them
|
||||||
|
for (int i = 0; i < 12; i++) {
|
||||||
|
uint8_t col = i % 3;
|
||||||
|
uint8_t row = i / 3;
|
||||||
|
// Create the button object
|
||||||
|
if ((row == 3) && ((col == 0) || (col == 2))) continue; // Do not create a complete fourth row, only a 0 button
|
||||||
|
obj = lv_btn_create(cont);
|
||||||
|
lv_obj_set_grid_cell(obj, LV_GRID_ALIGN_STRETCH, col, 1, LV_GRID_ALIGN_STRETCH, row, 1);
|
||||||
|
lv_obj_set_style_bg_color(obj, color_primary, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_radius(obj, 14, LV_PART_MAIN);
|
||||||
|
lv_obj_add_flag(obj, LV_OBJ_FLAG_EVENT_BUBBLE); // Clicking a button causes a event in its container
|
||||||
|
// Create Labels for each button
|
||||||
|
buttonLabel = lv_label_create(obj);
|
||||||
|
if (i < 9) {
|
||||||
|
lv_label_set_text_fmt(buttonLabel, std::to_string(i + 1).c_str(), col, row);
|
||||||
|
lv_obj_set_user_data(obj, (void*)i); // Add user data so we can identify which button caused the container event
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
lv_label_set_text_fmt(buttonLabel, "0", col, row);
|
||||||
|
lv_obj_set_user_data(obj, (void*)9);
|
||||||
|
}
|
||||||
|
lv_obj_set_style_text_font(buttonLabel, &lv_font_montserrat_24, LV_PART_MAIN);
|
||||||
|
lv_obj_center(buttonLabel);
|
||||||
|
}
|
||||||
|
// Create a shared event for all button inside container
|
||||||
|
lv_obj_add_event_cb(cont, virtualKeypad_event_cb, LV_EVENT_CLICKED, NULL);
|
||||||
|
|
||||||
|
// Only for the LVGL PC Simulator !!!
|
||||||
|
lv_img_dsc_t appleTvIcon;
|
||||||
|
appleTvIcon.header.cf = LV_IMG_CF_TRUE_COLOR;
|
||||||
|
appleTvIcon.header.always_zero = 0;
|
||||||
|
appleTvIcon.header.reserved = 0;
|
||||||
|
appleTvIcon.header.w = 91;
|
||||||
|
appleTvIcon.header.h = 42;
|
||||||
|
appleTvIcon.data_size = 3822 * LV_COLOR_SIZE / 8;
|
||||||
|
appleTvIcon.data = appleTvIcon_map;
|
||||||
|
lv_img_dsc_t appleDisplayIcon;
|
||||||
|
appleDisplayIcon.header.cf = LV_IMG_CF_ALPHA_8BIT;
|
||||||
|
appleDisplayIcon.header.always_zero = 0;
|
||||||
|
appleDisplayIcon.header.reserved = 0;
|
||||||
|
appleDisplayIcon.header.w = 25;
|
||||||
|
appleDisplayIcon.header.h = 20;
|
||||||
|
appleDisplayIcon.data_size = 500;
|
||||||
|
appleDisplayIcon.data = appleDisplayIcon_map;
|
||||||
|
lv_img_dsc_t appleBackIcon;
|
||||||
|
appleBackIcon.header.cf = LV_IMG_CF_ALPHA_8BIT;
|
||||||
|
appleBackIcon.header.always_zero = 0;
|
||||||
|
appleBackIcon.header.reserved = 0;
|
||||||
|
appleBackIcon.header.w = 13;
|
||||||
|
appleBackIcon.header.h = 25;
|
||||||
|
appleBackIcon.data_size = 325;
|
||||||
|
appleBackIcon.data = appleBackIcon_map;
|
||||||
|
|
||||||
|
|
||||||
|
// Add content to the Apple TV tab (3)
|
||||||
|
// Add a nice apple tv logo
|
||||||
|
lv_obj_t* appleImg = lv_img_create(tab3);
|
||||||
|
lv_img_set_src(appleImg, &appleTvIcon);
|
||||||
|
lv_obj_align(appleImg, LV_ALIGN_CENTER, 0, -60);
|
||||||
|
// create two buttons and add their icons accordingly
|
||||||
|
lv_obj_t* button = lv_btn_create(tab3);
|
||||||
|
lv_obj_align(button, LV_ALIGN_BOTTOM_LEFT, 10, 0);
|
||||||
|
lv_obj_set_size(button, 60, 60);
|
||||||
|
lv_obj_set_style_radius(button, 30, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(button, color_primary, LV_PART_MAIN);
|
||||||
|
lv_obj_add_event_cb(button, appleKey_event_cb, LV_EVENT_CLICKED, (void*)1);
|
||||||
|
|
||||||
|
appleImg = lv_img_create(button);
|
||||||
|
lv_img_set_src(appleImg, &appleBackIcon);
|
||||||
|
lv_obj_set_style_img_recolor(appleImg, lv_color_white(), LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_img_recolor_opa(appleImg, LV_OPA_COVER, LV_PART_MAIN);
|
||||||
|
lv_obj_align(appleImg, LV_ALIGN_CENTER, -3, 0);
|
||||||
|
|
||||||
|
button = lv_btn_create(tab3);
|
||||||
|
lv_obj_align(button, LV_ALIGN_BOTTOM_RIGHT, -10, 0);
|
||||||
|
lv_obj_set_size(button, 60, 60);
|
||||||
|
lv_obj_set_style_radius(button, 30, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(button, color_primary, LV_PART_MAIN);
|
||||||
|
lv_obj_add_event_cb(button, appleKey_event_cb, LV_EVENT_CLICKED, (void*)2);
|
||||||
|
|
||||||
|
appleImg = lv_img_create(button);
|
||||||
|
lv_img_set_src(appleImg, &appleDisplayIcon);
|
||||||
|
lv_obj_set_style_img_recolor(appleImg, lv_color_white(), LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_img_recolor_opa(appleImg, LV_OPA_COVER, LV_PART_MAIN);
|
||||||
|
lv_obj_align(appleImg, LV_ALIGN_CENTER, 0, 0);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Add content to the settings tab
|
||||||
|
// With a flex layout, setting groups/boxes will position themselves automatically
|
||||||
|
lv_obj_set_layout(tab1, LV_LAYOUT_FLEX);
|
||||||
|
lv_obj_set_flex_flow(tab1, LV_FLEX_FLOW_COLUMN);
|
||||||
|
lv_obj_set_scrollbar_mode(tab1, LV_SCROLLBAR_MODE_ACTIVE);
|
||||||
|
|
||||||
|
// Only for the LVGL PC Simulator !!!
|
||||||
|
lv_img_dsc_t high_brightness;
|
||||||
|
high_brightness.header.cf = LV_IMG_CF_ALPHA_8BIT,
|
||||||
|
high_brightness.header.always_zero = 0,
|
||||||
|
high_brightness.header.reserved = 0,
|
||||||
|
high_brightness.header.w = 18,
|
||||||
|
high_brightness.header.h = 18,
|
||||||
|
high_brightness.data_size = 352,
|
||||||
|
high_brightness.data = high_brightness_map;
|
||||||
|
lv_img_dsc_t low_brightness;
|
||||||
|
low_brightness.header.cf = LV_IMG_CF_ALPHA_8BIT,
|
||||||
|
low_brightness.header.always_zero = 0,
|
||||||
|
low_brightness.header.reserved = 0,
|
||||||
|
low_brightness.header.w = 16,
|
||||||
|
low_brightness.header.h = 16,
|
||||||
|
low_brightness.data_size = 256,
|
||||||
|
low_brightness.data = low_brightness_map;
|
||||||
|
|
||||||
|
|
||||||
|
// Add a label, then a box for the display settings
|
||||||
|
lv_obj_t* menuLabel = lv_label_create(tab1);
|
||||||
|
lv_label_set_text(menuLabel, "Display");
|
||||||
|
|
||||||
|
lv_obj_t* menuBox = lv_obj_create(tab1);
|
||||||
|
lv_obj_set_size(menuBox, lv_pct(100), 109);
|
||||||
|
lv_obj_set_style_bg_color(menuBox, color_primary, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_border_width(menuBox, 0, LV_PART_MAIN);
|
||||||
|
|
||||||
|
lv_obj_t* brightnessIcon = lv_img_create(menuBox);
|
||||||
|
lv_img_set_src(brightnessIcon, &low_brightness);
|
||||||
|
lv_obj_set_style_img_recolor(brightnessIcon, lv_color_white(), LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_img_recolor_opa(brightnessIcon, LV_OPA_COVER, LV_PART_MAIN);
|
||||||
|
lv_obj_align(brightnessIcon, LV_ALIGN_TOP_LEFT, 0, 0);
|
||||||
|
lv_obj_t* slider = lv_slider_create(menuBox);
|
||||||
|
lv_slider_set_range(slider, 60, 255);
|
||||||
|
lv_obj_set_style_bg_color(slider, lv_color_white(), LV_PART_KNOB);
|
||||||
|
lv_obj_set_style_bg_opa(slider, LV_OPA_COVER, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(slider, lv_color_lighten(color_primary, 50), LV_PART_MAIN);
|
||||||
|
lv_slider_set_value(slider, backlight_brightness, LV_ANIM_OFF);
|
||||||
|
lv_obj_set_size(slider, lv_pct(66), 10);
|
||||||
|
lv_obj_align(slider, LV_ALIGN_TOP_MID, 0, 3);
|
||||||
|
brightnessIcon = lv_img_create(menuBox);
|
||||||
|
lv_img_set_src(brightnessIcon, &high_brightness);
|
||||||
|
lv_obj_set_style_img_recolor(brightnessIcon, lv_color_white(), LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_img_recolor_opa(brightnessIcon, LV_OPA_COVER, LV_PART_MAIN);
|
||||||
|
lv_obj_align(brightnessIcon, LV_ALIGN_TOP_RIGHT, 0, -1);
|
||||||
|
lv_obj_add_event_cb(slider, bl_slider_event_cb, LV_EVENT_VALUE_CHANGED, NULL);
|
||||||
|
|
||||||
|
menuLabel = lv_label_create(menuBox);
|
||||||
|
lv_label_set_text(menuLabel, "Lift to Wake");
|
||||||
|
lv_obj_align(menuLabel, LV_ALIGN_TOP_LEFT, 0, 32);
|
||||||
|
lv_obj_t* wakeToggle = lv_switch_create(menuBox);
|
||||||
|
lv_obj_set_size(wakeToggle, 40, 22);
|
||||||
|
lv_obj_align(wakeToggle, LV_ALIGN_TOP_RIGHT, 0, 29);
|
||||||
|
lv_obj_set_style_bg_color(wakeToggle, lv_color_lighten(color_primary, 50), LV_PART_MAIN);
|
||||||
|
lv_obj_add_event_cb(wakeToggle, WakeEnableSetting_event_cb, LV_EVENT_VALUE_CHANGED, NULL);
|
||||||
|
if (wakeupByIMUEnabled) lv_obj_add_state(wakeToggle, LV_STATE_CHECKED); // set default state
|
||||||
|
|
||||||
|
menuLabel = lv_label_create(menuBox);
|
||||||
|
lv_label_set_text(menuLabel, "Timeout");
|
||||||
|
lv_obj_align(menuLabel, LV_ALIGN_TOP_LEFT, 0, 64);
|
||||||
|
lv_obj_t* drop = lv_dropdown_create(menuBox);
|
||||||
|
lv_dropdown_set_options(drop, "10s\n"
|
||||||
|
"30s\n"
|
||||||
|
"1m\n"
|
||||||
|
"3m");
|
||||||
|
lv_obj_align(drop, LV_ALIGN_TOP_RIGHT, 0, 61);
|
||||||
|
lv_obj_set_size(drop, 70, 22);
|
||||||
|
lv_obj_set_style_pad_top(drop, 1, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(drop, color_primary, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_border_width(drop, 0, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(lv_dropdown_get_list(drop), color_primary, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_border_width(lv_dropdown_get_list(drop), 1, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_border_color(lv_dropdown_get_list(drop), lv_color_darken(color_primary, 40), LV_PART_MAIN);
|
||||||
|
|
||||||
|
// Add another label, then a settings box for WiFi
|
||||||
|
menuLabel = lv_label_create(tab1);
|
||||||
|
lv_label_set_text(menuLabel, "Wi-Fi");
|
||||||
|
menuBox = lv_obj_create(tab1);
|
||||||
|
lv_obj_set_size(menuBox, lv_pct(100), 80);
|
||||||
|
lv_obj_set_style_bg_color(menuBox, color_primary, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_border_width(menuBox, 0, LV_PART_MAIN);
|
||||||
|
menuLabel = lv_label_create(menuBox);
|
||||||
|
lv_label_set_text(menuLabel, "Network");
|
||||||
|
menuLabel = lv_label_create(menuBox);
|
||||||
|
lv_label_set_text(menuLabel, LV_SYMBOL_RIGHT);
|
||||||
|
lv_obj_align(menuLabel, LV_ALIGN_TOP_RIGHT, 0, 0);
|
||||||
|
menuLabel = lv_label_create(menuBox);
|
||||||
|
lv_label_set_text(menuLabel, "Password");
|
||||||
|
lv_obj_align(menuLabel, LV_ALIGN_TOP_LEFT, 0, 32);
|
||||||
|
menuLabel = lv_label_create(menuBox);
|
||||||
|
lv_label_set_text(menuLabel, LV_SYMBOL_RIGHT);
|
||||||
|
lv_obj_align(menuLabel, LV_ALIGN_TOP_RIGHT, 0, 32);
|
||||||
|
|
||||||
|
// Another setting for the battery
|
||||||
|
menuLabel = lv_label_create(tab1);
|
||||||
|
lv_label_set_text(menuLabel, "Battery");
|
||||||
|
menuBox = lv_obj_create(tab1);
|
||||||
|
lv_obj_set_size(menuBox, lv_pct(100), 125);
|
||||||
|
lv_obj_set_style_bg_color(menuBox, color_primary, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_border_width(menuBox, 0, LV_PART_MAIN);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Add content to the smart home tab (4)
|
||||||
|
|
||||||
|
// Only for the LVGL PC Simulator !!!
|
||||||
|
lv_img_dsc_t lightbulb;
|
||||||
|
lightbulb.header.cf = LV_IMG_CF_ALPHA_8BIT,
|
||||||
|
lightbulb.header.always_zero = 0,
|
||||||
|
lightbulb.header.reserved = 0,
|
||||||
|
lightbulb.header.w = 12,
|
||||||
|
lightbulb.header.h = 20,
|
||||||
|
lightbulb.data_size = 240,
|
||||||
|
lightbulb.data = lightbulb_map;
|
||||||
|
|
||||||
|
lv_obj_set_layout(tab4, LV_LAYOUT_FLEX);
|
||||||
|
lv_obj_set_flex_flow(tab4, LV_FLEX_FLOW_COLUMN);
|
||||||
|
lv_obj_set_scrollbar_mode(tab4, LV_SCROLLBAR_MODE_ACTIVE);
|
||||||
|
|
||||||
|
// Add a label, then a box for the light controls
|
||||||
|
menuLabel = lv_label_create(tab4);
|
||||||
|
lv_label_set_text(menuLabel, "Living Room");
|
||||||
|
|
||||||
|
menuBox = lv_obj_create(tab4);
|
||||||
|
lv_obj_set_size(menuBox, lv_pct(100), 79);
|
||||||
|
lv_obj_set_style_bg_color(menuBox, color_primary, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_border_width(menuBox, 0, LV_PART_MAIN);
|
||||||
|
|
||||||
|
lv_obj_t* bulbIcon = lv_img_create(menuBox);
|
||||||
|
lv_img_set_src(bulbIcon, &lightbulb);
|
||||||
|
lv_obj_set_style_img_recolor(bulbIcon, lv_color_white(), LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_img_recolor_opa(bulbIcon, LV_OPA_COVER, LV_PART_MAIN);
|
||||||
|
lv_obj_align(bulbIcon, LV_ALIGN_TOP_LEFT, 0, 0);
|
||||||
|
|
||||||
|
menuLabel = lv_label_create(menuBox);
|
||||||
|
lv_label_set_text(menuLabel, "Floor Lamp");
|
||||||
|
lv_obj_align(menuLabel, LV_ALIGN_TOP_LEFT, 22, 3);
|
||||||
|
lv_obj_t* lightToggleA = lv_switch_create(menuBox);
|
||||||
|
lv_obj_set_size(lightToggleA, 40, 22);
|
||||||
|
lv_obj_align(lightToggleA, LV_ALIGN_TOP_RIGHT, 0, 0);
|
||||||
|
lv_obj_set_style_bg_color(lightToggleA, lv_color_lighten(color_primary, 50), LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(lightToggleA, color_primary, LV_PART_INDICATOR);
|
||||||
|
lv_obj_add_event_cb(lightToggleA, smartHomeToggle_event_cb, LV_EVENT_VALUE_CHANGED, (void*)1);
|
||||||
|
|
||||||
|
slider = lv_slider_create(menuBox);
|
||||||
|
lv_slider_set_range(slider, 60, 255);
|
||||||
|
lv_obj_set_style_bg_color(slider, lv_color_lighten(lv_color_black(), 30), LV_PART_INDICATOR);
|
||||||
|
lv_obj_set_style_bg_grad_color(slider, lv_color_lighten(lv_palette_main(LV_PALETTE_AMBER), 180), LV_PART_INDICATOR);
|
||||||
|
lv_obj_set_style_bg_grad_dir(slider, LV_GRAD_DIR_HOR, LV_PART_INDICATOR);
|
||||||
|
lv_obj_set_style_bg_color(slider, lv_color_white(), LV_PART_KNOB);
|
||||||
|
lv_obj_set_style_bg_opa(slider, 255, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(slider, lv_color_lighten(color_primary, 50), LV_PART_MAIN);
|
||||||
|
lv_slider_set_value(slider, 255, LV_ANIM_OFF);
|
||||||
|
lv_obj_set_size(slider, lv_pct(90), 10);
|
||||||
|
lv_obj_align(slider, LV_ALIGN_TOP_MID, 0, 37);
|
||||||
|
lv_obj_add_event_cb(slider, smartHomeSlider_event_cb, LV_EVENT_VALUE_CHANGED, (void*)1);
|
||||||
|
|
||||||
|
// Add another menu box for a second appliance
|
||||||
|
menuBox = lv_obj_create(tab4);
|
||||||
|
lv_obj_set_size(menuBox, lv_pct(100), 79);
|
||||||
|
lv_obj_set_style_bg_color(menuBox, color_primary, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_border_width(menuBox, 0, LV_PART_MAIN);
|
||||||
|
|
||||||
|
bulbIcon = lv_img_create(menuBox);
|
||||||
|
lv_img_set_src(bulbIcon, &lightbulb);
|
||||||
|
lv_obj_set_style_img_recolor(bulbIcon, lv_color_white(), LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_img_recolor_opa(bulbIcon, LV_OPA_COVER, LV_PART_MAIN);
|
||||||
|
lv_obj_align(bulbIcon, LV_ALIGN_TOP_LEFT, 0, 0);
|
||||||
|
|
||||||
|
menuLabel = lv_label_create(menuBox);
|
||||||
|
lv_label_set_text(menuLabel, "Ceiling Light");
|
||||||
|
lv_obj_align(menuLabel, LV_ALIGN_TOP_LEFT, 22, 3);
|
||||||
|
lv_obj_t* lightToggleB = lv_switch_create(menuBox);
|
||||||
|
lv_obj_set_size(lightToggleB, 40, 22);
|
||||||
|
lv_obj_align(lightToggleB, LV_ALIGN_TOP_RIGHT, 0, 0);
|
||||||
|
lv_obj_set_style_bg_color(lightToggleB, lv_color_lighten(color_primary, 50), LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(lightToggleB, color_primary, LV_PART_INDICATOR);
|
||||||
|
lv_obj_add_event_cb(lightToggleB, smartHomeToggle_event_cb, LV_EVENT_VALUE_CHANGED, (void*)2);
|
||||||
|
|
||||||
|
slider = lv_slider_create(menuBox);
|
||||||
|
lv_slider_set_range(slider, 60, 255);
|
||||||
|
lv_obj_set_style_bg_color(slider, lv_color_lighten(lv_color_black(), 30), LV_PART_INDICATOR);
|
||||||
|
lv_obj_set_style_bg_grad_color(slider, lv_color_lighten(lv_palette_main(LV_PALETTE_AMBER), 180), LV_PART_INDICATOR);
|
||||||
|
lv_obj_set_style_bg_grad_dir(slider, LV_GRAD_DIR_HOR, LV_PART_INDICATOR);
|
||||||
|
lv_obj_set_style_bg_color(slider, lv_color_white(), LV_PART_KNOB);
|
||||||
|
lv_obj_set_style_bg_opa(slider, 255, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(slider, lv_color_lighten(color_primary, 50), LV_PART_MAIN);
|
||||||
|
lv_slider_set_value(slider, 255, LV_ANIM_OFF);
|
||||||
|
lv_obj_set_size(slider, lv_pct(90), 10);
|
||||||
|
lv_obj_align(slider, LV_ALIGN_TOP_MID, 0, 37);
|
||||||
|
lv_obj_add_event_cb(slider, smartHomeSlider_event_cb, LV_EVENT_VALUE_CHANGED, (void*)2);
|
||||||
|
|
||||||
|
|
||||||
|
// Add another room (empty for now)
|
||||||
|
menuLabel = lv_label_create(tab4);
|
||||||
|
lv_label_set_text(menuLabel, "Kitchen");
|
||||||
|
|
||||||
|
menuBox = lv_obj_create(tab4);
|
||||||
|
lv_obj_set_size(menuBox, lv_pct(100), 79);
|
||||||
|
lv_obj_set_style_bg_color(menuBox, color_primary, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_border_width(menuBox, 0, LV_PART_MAIN);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// Set current page according to the current Device
|
||||||
|
lv_tabview_set_act(tabview, currentDevice, LV_ANIM_OFF);
|
||||||
|
|
||||||
|
// Create a page indicator
|
||||||
|
panel = lv_obj_create(lv_scr_act());
|
||||||
|
lv_obj_clear_flag(panel, LV_OBJ_FLAG_CLICKABLE); // this indicator will not be clickable
|
||||||
|
lv_obj_set_size(panel, screenWidth, 30);
|
||||||
|
lv_obj_set_flex_flow(panel, LV_FLEX_FLOW_ROW);
|
||||||
|
lv_obj_align(panel, LV_ALIGN_BOTTOM_MID, 0, 0);
|
||||||
|
lv_obj_set_scrollbar_mode(panel, LV_SCROLLBAR_MODE_OFF);
|
||||||
|
// This small hidden button enables the page indicator to scroll further
|
||||||
|
lv_obj_t* btn = lv_btn_create(panel);
|
||||||
|
lv_obj_set_size(btn, 50, lv_pct(100));
|
||||||
|
lv_obj_set_style_shadow_width(btn, 0, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_opa(btn, LV_OPA_TRANSP, LV_PART_MAIN);
|
||||||
|
// Create actual (non-clickable) buttons for every tab
|
||||||
|
btn = lv_btn_create(panel);
|
||||||
|
lv_obj_clear_flag(btn, LV_OBJ_FLAG_CLICKABLE);
|
||||||
|
lv_obj_set_size(btn, 150, lv_pct(100));
|
||||||
|
lv_obj_t* label = lv_label_create(btn);
|
||||||
|
lv_label_set_text_fmt(label, "Settings");
|
||||||
|
lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
|
||||||
|
lv_obj_set_style_shadow_width(btn, 0, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(btn, color_primary, LV_PART_MAIN);
|
||||||
|
|
||||||
|
btn = lv_btn_create(panel);
|
||||||
|
lv_obj_clear_flag(btn, LV_OBJ_FLAG_CLICKABLE);
|
||||||
|
lv_obj_set_size(btn, 150, lv_pct(100));
|
||||||
|
label = lv_label_create(btn);
|
||||||
|
lv_label_set_text_fmt(label, "Technisat");
|
||||||
|
lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
|
||||||
|
lv_obj_set_style_shadow_width(btn, 0, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(btn, color_primary, LV_PART_MAIN);
|
||||||
|
|
||||||
|
btn = lv_btn_create(panel);
|
||||||
|
lv_obj_clear_flag(btn, LV_OBJ_FLAG_CLICKABLE);
|
||||||
|
lv_obj_set_size(btn, 150, lv_pct(100));
|
||||||
|
label = lv_label_create(btn);
|
||||||
|
lv_label_set_text_fmt(label, "Apple TV");
|
||||||
|
lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
|
||||||
|
lv_obj_set_style_shadow_width(btn, 0, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(btn, color_primary, LV_PART_MAIN);
|
||||||
|
|
||||||
|
btn = lv_btn_create(panel);
|
||||||
|
lv_obj_clear_flag(btn, LV_OBJ_FLAG_CLICKABLE);
|
||||||
|
lv_obj_set_size(btn, 150, lv_pct(100));
|
||||||
|
label = lv_label_create(btn);
|
||||||
|
lv_label_set_text_fmt(label, "Smart Home");
|
||||||
|
lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
|
||||||
|
lv_obj_set_style_shadow_width(btn, 0, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(btn, color_primary, LV_PART_MAIN);
|
||||||
|
// This small hidden button enables the page indicator to scroll further
|
||||||
|
btn = lv_btn_create(panel);
|
||||||
|
lv_obj_set_size(btn, 50, lv_pct(100));
|
||||||
|
lv_obj_set_style_shadow_width(btn, 0, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_opa(btn, LV_OPA_TRANSP, LV_PART_MAIN);
|
||||||
|
|
||||||
|
// Make the indicator scroll together with the tabs by creating a scroll event
|
||||||
|
lv_obj_add_event_cb(lv_tabview_get_content(tabview), store_scroll_value_event_cb, LV_EVENT_SCROLL, NULL);
|
||||||
|
lv_obj_add_event_cb(tabview, tabview_device_event_cb, LV_EVENT_VALUE_CHANGED, NULL);
|
||||||
|
// Initialize scroll position for the indicator
|
||||||
|
lv_event_send(lv_tabview_get_content(tabview), LV_EVENT_SCROLL, NULL);
|
||||||
|
|
||||||
|
// Style the panel background
|
||||||
|
static lv_style_t style_btn;
|
||||||
|
lv_style_init(&style_btn);
|
||||||
|
lv_style_set_pad_all(&style_btn, 3);
|
||||||
|
lv_style_set_border_width(&style_btn, 0);
|
||||||
|
lv_style_set_bg_opa(&style_btn, LV_OPA_TRANSP);
|
||||||
|
lv_obj_add_style(panel, &style_btn, 0);
|
||||||
|
|
||||||
|
// Only for the LVGL PC Simulator !!!
|
||||||
|
lv_img_dsc_t gradientLeft;
|
||||||
|
gradientLeft.header.cf = LV_IMG_CF_ALPHA_8BIT;
|
||||||
|
gradientLeft.header.always_zero = 0;
|
||||||
|
gradientLeft.header.reserved = 0;
|
||||||
|
gradientLeft.header.w = 30;
|
||||||
|
gradientLeft.header.h = 1;
|
||||||
|
gradientLeft.data_size = 30;
|
||||||
|
gradientLeft.data = gradientLeft_map;
|
||||||
|
lv_img_dsc_t gradientRight;
|
||||||
|
gradientRight.header.cf = LV_IMG_CF_ALPHA_8BIT;
|
||||||
|
gradientRight.header.always_zero = 0;
|
||||||
|
gradientRight.header.reserved = 0;
|
||||||
|
gradientRight.header.w = 30;
|
||||||
|
gradientRight.header.h = 1;
|
||||||
|
gradientRight.data_size = 30;
|
||||||
|
gradientRight.data = gradientRight_map;
|
||||||
|
|
||||||
|
|
||||||
|
// Make the indicator fade out at the sides using gradient bitmaps
|
||||||
|
lv_obj_t* img1 = lv_img_create(lv_scr_act());
|
||||||
|
lv_img_set_src(img1, &gradientLeft);
|
||||||
|
lv_obj_align(img1, LV_ALIGN_BOTTOM_LEFT, 0, 0);
|
||||||
|
lv_obj_set_size(img1, 30, 30); // stretch the 1-pixel high image to 30px
|
||||||
|
lv_obj_t* img2 = lv_img_create(lv_scr_act());
|
||||||
|
lv_img_set_src(img2, &gradientRight);
|
||||||
|
lv_obj_align(img2, LV_ALIGN_BOTTOM_RIGHT, 0, 0);
|
||||||
|
lv_obj_set_size(img2, 30, 30);
|
||||||
|
|
||||||
|
|
||||||
|
// Create a status bar
|
||||||
|
lv_obj_t* statusbar = lv_btn_create(lv_scr_act());
|
||||||
|
lv_obj_set_size(statusbar, 240, 20);
|
||||||
|
lv_obj_set_style_shadow_width(statusbar, 0, LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_bg_color(statusbar, lv_color_black(), LV_PART_MAIN);
|
||||||
|
lv_obj_set_style_radius(statusbar, 0, LV_PART_MAIN);
|
||||||
|
lv_obj_align(statusbar, LV_ALIGN_TOP_MID, 0, 0);
|
||||||
|
|
||||||
|
lv_obj_t* WifiLabel = lv_label_create(statusbar);
|
||||||
|
lv_label_set_text(WifiLabel, LV_SYMBOL_WIFI);
|
||||||
|
lv_obj_align(WifiLabel, LV_ALIGN_LEFT_MID, -8, 0);
|
||||||
|
lv_obj_set_style_text_font(WifiLabel, &lv_font_montserrat_12, LV_PART_MAIN);
|
||||||
|
|
||||||
|
lv_obj_t* objBattPercentage = lv_label_create(statusbar);
|
||||||
|
lv_label_set_text(objBattPercentage, "");
|
||||||
|
lv_obj_align(objBattPercentage, LV_ALIGN_RIGHT_MID, -16, 0);
|
||||||
|
lv_obj_set_style_text_font(objBattPercentage, &lv_font_montserrat_12, LV_PART_MAIN);
|
||||||
|
|
||||||
|
lv_obj_t* objBattIcon = lv_label_create(statusbar);
|
||||||
|
lv_label_set_text(objBattIcon, LV_SYMBOL_BATTERY_EMPTY);
|
||||||
|
lv_obj_align(objBattIcon, LV_ALIGN_RIGHT_MID, 8, 0);
|
||||||
|
lv_obj_set_style_text_font(objBattIcon, &lv_font_montserrat_16, LV_PART_MAIN);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
while (!lv_win32_quit_signal)
|
||||||
|
{
|
||||||
|
lv_task_handler();
|
||||||
|
//std::string strng = std::to_string(scroll_value);
|
||||||
|
//const char* pchar = strng.c_str();
|
||||||
|
//OutputDebugStringW();
|
||||||
|
//lv_label_set_text_fmt(scrollPos, "%d %d", lv_obj_get_scroll_x(lv_tabview_get_content(tabview)), lv_obj_get_scroll_x(panel));
|
||||||
|
|
||||||
|
|
||||||
|
Sleep(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
29
LVGL Simulator/LVGL.Simulator/LVGL.Simulator.manifest
Normal file
29
LVGL Simulator/LVGL.Simulator/LVGL.Simulator.manifest
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
|
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||||
|
<dependency>
|
||||||
|
<dependentAssembly>
|
||||||
|
<assemblyIdentity
|
||||||
|
type="win32"
|
||||||
|
name="Microsoft.Windows.Common-Controls"
|
||||||
|
version="6.0.0.0"
|
||||||
|
processorArchitecture="*"
|
||||||
|
publicKeyToken="6595b64144ccf1df"
|
||||||
|
language="*"/>
|
||||||
|
</dependentAssembly>
|
||||||
|
</dependency>
|
||||||
|
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||||
|
<windowsSettings>
|
||||||
|
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">True/PM</dpiAware>
|
||||||
|
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitorV2, PerMonitor</dpiAwareness>
|
||||||
|
</windowsSettings>
|
||||||
|
</application>
|
||||||
|
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||||
|
<application>
|
||||||
|
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
|
||||||
|
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
|
||||||
|
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
|
||||||
|
<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>
|
||||||
|
<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>
|
||||||
|
</application>
|
||||||
|
</compatibility>
|
||||||
|
</assembly>
|
BIN
LVGL Simulator/LVGL.Simulator/LVGL.Simulator.rc
Normal file
BIN
LVGL Simulator/LVGL.Simulator/LVGL.Simulator.rc
Normal file
Binary file not shown.
58
LVGL Simulator/LVGL.Simulator/LVGL.Simulator.vcxproj
Normal file
58
LVGL Simulator/LVGL.Simulator/LVGL.Simulator.vcxproj
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="Mile.Project.Windows.Legacy\Mile.Project.Platform.Win32.props" />
|
||||||
|
<Import Project="Mile.Project.Windows.Legacy\Mile.Project.Platform.x64.props" />
|
||||||
|
<Import Project="Mile.Project.Windows.Legacy\Mile.Project.Platform.ARM64.props" />
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<ProjectGuid>{3CA6E070-4AC1-475E-BB17-CF29AE4806DF}</ProjectGuid>
|
||||||
|
<RootNamespace>LVGL</RootNamespace>
|
||||||
|
<MileProjectType>ConsoleApplication</MileProjectType>
|
||||||
|
<MileProjectManifestFile>LVGL.Simulator.manifest</MileProjectManifestFile>
|
||||||
|
<MileProjectEnableVCLTLSupport>true</MileProjectEnableVCLTLSupport>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Configuration" Condition="'$(Configuration)'=='Debug'">
|
||||||
|
<SupportLTL>false</SupportLTL>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="Mile.Project.Windows.Legacy\Mile.Project.Cpp.props" />
|
||||||
|
<Import Project="freetype.props" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<IncludePath>$(MSBuildThisFileDirectory);$(MSBuildThisFileDirectory)..\LvglPlatform\lvgl\;$(MSBuildThisFileDirectory)..\LvglPlatform\;$(IncludePath)</IncludePath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup>
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<TreatWarningAsError>false</TreatWarningAsError>
|
||||||
|
<AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
<PreprocessorDefinitions>LV_CONF_INCLUDE_SIMPLE;LV_LVGL_H_INCLUDE_SIMPLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Optimization Condition="'$(Configuration)'=='Release'">MinSpace</Optimization>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<Import Project="LVGL.Portable.vcxitems" />
|
||||||
|
<Import Project="LVGL.Drivers.vcxitems" />
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="lv_conf.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="lv_drv_conf.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Manifest Include="LVGL.Simulator.manifest" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="Mile.Project.Properties.h" />
|
||||||
|
<ClInclude Include="resource.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="LVGL.Simulator.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="LVGL.Simulator.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Image Include="LVGL.ico" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="freetype.props" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="Mile.Project.Windows.Legacy\Mile.Project.Cpp.targets" />
|
||||||
|
</Project>
|
28
LVGL Simulator/LVGL.Simulator/LVGL.Simulator.vcxproj.filters
Normal file
28
LVGL Simulator/LVGL.Simulator/LVGL.Simulator.vcxproj.filters
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="LVGL.Portable.vcxitems.filters" />
|
||||||
|
<Import Project="LVGL.Drivers.vcxitems.filters" />
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="lv_conf.h" />
|
||||||
|
<ClInclude Include="lv_drv_conf.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Manifest Include="LVGL.Simulator.manifest" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClInclude Include="Mile.Project.Properties.h" />
|
||||||
|
<ClInclude Include="resource.h" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="LVGL.Simulator.cpp" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ResourceCompile Include="LVGL.Simulator.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Image Include="LVGL.ico" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<None Include="freetype.props" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
BIN
LVGL Simulator/LVGL.Simulator/LVGL.ico
Normal file
BIN
LVGL Simulator/LVGL.Simulator/LVGL.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 46 KiB |
BIN
LVGL Simulator/LVGL.Simulator/Mile.Project.Properties.h
Normal file
BIN
LVGL Simulator/LVGL.Simulator/Mile.Project.Properties.h
Normal file
Binary file not shown.
|
@ -0,0 +1,123 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
PROJECT: Mouri Internal Library Essentials
|
||||||
|
FILE: Mile.Project.Cpp.props
|
||||||
|
PURPOSE: Definition for Visual Studio C++ Project
|
||||||
|
|
||||||
|
LICENSE: The MIT License
|
||||||
|
|
||||||
|
DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
-->
|
||||||
|
<!--
|
||||||
|
The documents of specific options in Mile.Project.
|
||||||
|
|
||||||
|
How to define the project type in the "Globals" label property group.
|
||||||
|
If the project is a console application project.
|
||||||
|
<MileProjectType>ConsoleApplication</MileProjectType>
|
||||||
|
If the project is a windows application project.
|
||||||
|
<MileProjectType>WindowsApplication</MileProjectType>
|
||||||
|
If the project is a dynamic library project.
|
||||||
|
<MileProjectType>DynamicLibrary</MileProjectType>
|
||||||
|
If the project is a static library project.
|
||||||
|
<MileProjectType>StaticLibrary</MileProjectType>
|
||||||
|
|
||||||
|
How to define the manifest file in the "Globals" label property group.
|
||||||
|
<MileProjectManifestFile>C:\Folder\Manifest.manifest</MileProjectManifestFile>
|
||||||
|
|
||||||
|
How to enable the version information support.
|
||||||
|
Copy Mile.Project.Properties.Template.h to the project folder and rename it
|
||||||
|
to Mile.Project.Properties.h.
|
||||||
|
|
||||||
|
How to enable VC-LTL support.
|
||||||
|
<MileProjectEnableVCLTLSupport>true</MileProjectEnableVCLTLSupport>
|
||||||
|
-->
|
||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<!--
|
||||||
|
Only do this for MSBuild versions below 16.0 as it is since done
|
||||||
|
automatically, see https://github.com/microsoft/msbuild/pull/3605.
|
||||||
|
-->
|
||||||
|
<MSBuildAllProjects Condition="'$(MSBuildToolsVersion)' <= '15'">$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Label="Globals">
|
||||||
|
<Keyword>Win32Proj</Keyword>
|
||||||
|
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
|
||||||
|
<CleanImport>true</CleanImport>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||||
|
<PropertyGroup Label="Configuration">
|
||||||
|
<ConfigurationType>Application</ConfigurationType>
|
||||||
|
<ConfigurationType Condition="'$(MileProjectType)'=='DynamicLibrary'">DynamicLibrary</ConfigurationType>
|
||||||
|
<ConfigurationType Condition="'$(MileProjectType)'=='StaticLibrary'">StaticLibrary</ConfigurationType>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<PlatformToolset Condition="'$(VisualStudioVersion)' == '16.0'">v142</PlatformToolset>
|
||||||
|
<PlatformToolset Condition="'$(VisualStudioVersion)' == '15.0'">v141</PlatformToolset>
|
||||||
|
<PlatformToolset Condition="'$(VisualStudioVersion)' == '14.0'">v140</PlatformToolset>
|
||||||
|
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
<UseDebugLibraries Condition="'$(Configuration)'=='Debug'">true</UseDebugLibraries>
|
||||||
|
<UseDebugLibraries Condition="'$(Configuration)'=='Release'">false</UseDebugLibraries>
|
||||||
|
<WholeProgramOptimization Condition="'$(Configuration)'=='Release'">true</WholeProgramOptimization>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)'=='Debug'">true</LinkIncremental>
|
||||||
|
<LinkIncremental Condition="'$(Configuration)'=='Release'">false</LinkIncremental>
|
||||||
|
<GenerateManifest>false</GenerateManifest>
|
||||||
|
<IncludePath>$(MSBuildThisFileDirectory);$(IncludePath)</IncludePath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup>
|
||||||
|
<ClCompile>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
|
<WarningLevel>Level4</WarningLevel>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<EnableEnhancedInstructionSet Condition="'$(Platform)'=='Win32'">NoExtensions</EnableEnhancedInstructionSet>
|
||||||
|
<PreprocessorDefinitions Condition="'$(Platform)'=='Win32'">WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<PreprocessorDefinitions Condition="'$(MileProjectType)'=='ConsoleApplication'">_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<PreprocessorDefinitions Condition="'$(MileProjectType)'=='WindowsApplication'">_WINDOWS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<PreprocessorDefinitions Condition="'$(MileProjectType)'=='DynamicLibrary'">_WINDOWS;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<PreprocessorDefinitions Condition="'$(MileProjectType)'=='StaticLibrary'">_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<SubSystem Condition="'$(MileProjectType)'=='ConsoleApplication'">Console</SubSystem>
|
||||||
|
<SubSystem Condition="'$(MileProjectType)'=='WindowsApplication'">Windows</SubSystem>
|
||||||
|
<SubSystem Condition="'$(MileProjectType)'=='DynamicLibrary'">Windows</SubSystem>
|
||||||
|
<SubSystem Condition="'$(MileProjectType)'=='StaticLibrary'"></SubSystem>
|
||||||
|
</Link>
|
||||||
|
<ResourceCompile Condition="'$(MileProjectType)'!='StaticLibrary'">
|
||||||
|
<PreprocessorDefinitions Condition="'$(MileProjectType)'!='DynamicLibrary'">_MILE_PROJECT_MANIFEST_ID=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<PreprocessorDefinitions Condition="'$(MileProjectType)'=='DynamicLibrary'">_MILE_PROJECT_MANIFEST_ID=2;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<PreprocessorDefinitions Condition="'$(MileProjectManifestFile)'!=''">_MILE_PROJECT_MANIFEST_FILE=$([System.String]::Copy('$(MileProjectManifestFile)').Replace('\','\\'));%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<AdditionalIncludeDirectories>$(ProjectDir);$(MSBuildThisFileDirectory);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Debug'">
|
||||||
|
<ClCompile>
|
||||||
|
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Optimization>Disabled</Optimization>
|
||||||
|
<RuntimeLibrary Condition="'$(MileProjectEnableVCLTLSupport)' == 'true'">MultiThreadedDebug</RuntimeLibrary>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)'=='Release'">
|
||||||
|
<ClCompile>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<Optimization>MaxSpeed</Optimization>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<RuntimeLibrary Condition="'$(MileProjectEnableVCLTLSupport)' == 'true'">MultiThreaded</RuntimeLibrary>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="VC-LTL" Condition="'$(MileProjectEnableVCLTLSupport)' == 'true'">
|
||||||
|
<Version>5.0.5</Version>
|
||||||
|
</PackageReference>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
|
@ -0,0 +1,26 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
PROJECT: Mouri Internal Library Essentials
|
||||||
|
FILE: Mile.Project.Cpp.targets
|
||||||
|
PURPOSE: Definition for Visual Studio C++ Project
|
||||||
|
|
||||||
|
LICENSE: The MIT License
|
||||||
|
|
||||||
|
DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
-->
|
||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<!--
|
||||||
|
Only do this for MSBuild versions below 16.0 as it is since done
|
||||||
|
automatically, see https://github.com/microsoft/msbuild/pull/3605.
|
||||||
|
-->
|
||||||
|
<MSBuildAllProjects Condition="'$(MSBuildToolsVersion)' <= '15'">$(MSBuildAllProjects);$(MSBuildThisFileFullPath)</MSBuildAllProjects>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Target Name="MileProjectBuildManifestResources" BeforeTargets="BeforeResourceCompile">
|
||||||
|
<ItemGroup Condition="'$(MileProjectType)'!='StaticLibrary'">
|
||||||
|
<ResourceCompile Condition="'$(MileProjectManifestFile)'!=''" Include="$(MSBuildThisFileDirectory)Mile.Project.Manifest.rc" />
|
||||||
|
<ResourceCompile Condition="Exists('$(ProjectDir)Mile.Project.Properties.h')" Include="$(MSBuildThisFileDirectory)Mile.Project.Version.rc" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
|
</Project>
|
Binary file not shown.
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
PROJECT: Mouri Internal Library Essentials
|
||||||
|
FILE: Mile.Project.Platform.ARM.props
|
||||||
|
PURPOSE: Definition for Visual Studio C++ Project
|
||||||
|
|
||||||
|
LICENSE: The MIT License
|
||||||
|
|
||||||
|
DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
-->
|
||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|ARM">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>ARM</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|ARM">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>ARM</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
PROJECT: Mouri Internal Library Essentials
|
||||||
|
FILE: Mile.Project.Platform.ARM64.props
|
||||||
|
PURPOSE: Definition for Visual Studio C++ Project
|
||||||
|
|
||||||
|
LICENSE: The MIT License
|
||||||
|
|
||||||
|
DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
-->
|
||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|ARM64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>ARM64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|ARM64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>ARM64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
PROJECT: Mouri Internal Library Essentials
|
||||||
|
FILE: Mile.Project.Platform.Win32.props
|
||||||
|
PURPOSE: Definition for Visual Studio C++ Project
|
||||||
|
|
||||||
|
LICENSE: The MIT License
|
||||||
|
|
||||||
|
DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
-->
|
||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|Win32">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|Win32">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
|
@ -0,0 +1,22 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
PROJECT: Mouri Internal Library Essentials
|
||||||
|
FILE: Mile.Project.Platform.x64.props
|
||||||
|
PURPOSE: Definition for Visual Studio C++ Project
|
||||||
|
|
||||||
|
LICENSE: The MIT License
|
||||||
|
|
||||||
|
DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
-->
|
||||||
|
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="Debug|x64">
|
||||||
|
<Configuration>Debug</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="Release|x64">
|
||||||
|
<Configuration>Release</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
|
@ -0,0 +1,119 @@
|
||||||
|
/*
|
||||||
|
* PROJECT: Mouri Internal Library Essentials
|
||||||
|
* FILE: Mile.Project.Version.h
|
||||||
|
* PURPOSE: Version Definition for Mile.Project
|
||||||
|
*
|
||||||
|
* LICENSE: The MIT License
|
||||||
|
*
|
||||||
|
* DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_VERSION
|
||||||
|
#define MILE_PROJECT_VERSION
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_MACRO_TO_STRING
|
||||||
|
#define _MILE_PROJECT_MACRO_TO_STRING(arg) L#arg
|
||||||
|
#define MILE_PROJECT_MACRO_TO_STRING(arg) _MILE_PROJECT_MACRO_TO_STRING(arg)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_MACRO_TO_UTF8_STRING
|
||||||
|
#define _MILE_PROJECT_MACRO_TO_UTF8_STRING(arg) #arg
|
||||||
|
#define MILE_PROJECT_MACRO_TO_UTF8_STRING(arg) \
|
||||||
|
_MILE_PROJECT_MACRO_TO_UTF8_STRING(arg)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_DEFINE_COMMA_VERSION
|
||||||
|
#define MILE_PROJECT_DEFINE_COMMA_VERSION(MAJOR,MINOR,BUILD,REVISION) \
|
||||||
|
MAJOR,MINOR,BUILD,REVISION
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_DEFINE_DOT_VERSION
|
||||||
|
#define MILE_PROJECT_DEFINE_DOT_VERSION(MAJOR,MINOR,BUILD,REVISION) \
|
||||||
|
MAJOR.MINOR.BUILD.REVISION
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_COMMA_VERSION
|
||||||
|
#define MILE_PROJECT_COMMA_VERSION \
|
||||||
|
MILE_PROJECT_DEFINE_COMMA_VERSION( \
|
||||||
|
MILE_PROJECT_VERSION_MAJOR, \
|
||||||
|
MILE_PROJECT_VERSION_MINOR, \
|
||||||
|
MILE_PROJECT_VERSION_BUILD, \
|
||||||
|
MILE_PROJECT_VERSION_REVISION)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_DOT_VERSION
|
||||||
|
#define MILE_PROJECT_DOT_VERSION \
|
||||||
|
MILE_PROJECT_DEFINE_DOT_VERSION( \
|
||||||
|
MILE_PROJECT_VERSION_MAJOR, \
|
||||||
|
MILE_PROJECT_VERSION_MINOR, \
|
||||||
|
MILE_PROJECT_VERSION_BUILD, \
|
||||||
|
MILE_PROJECT_VERSION_REVISION)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_COMMA_VERSION_STRING
|
||||||
|
#define MILE_PROJECT_COMMA_VERSION_STRING \
|
||||||
|
MILE_PROJECT_MACRO_TO_STRING(MILE_PROJECT_COMMA_VERSION)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_DOT_VERSION_STRING
|
||||||
|
#define MILE_PROJECT_DOT_VERSION_STRING \
|
||||||
|
MILE_PROJECT_MACRO_TO_STRING(MILE_PROJECT_DOT_VERSION)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_COMMA_VERSION_UTF8_STRING
|
||||||
|
#define MILE_PROJECT_COMMA_VERSION_UTF8_STRING \
|
||||||
|
MILE_PROJECT_MACRO_TO_UTF8_STRING(MILE_PROJECT_COMMA_VERSION)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_DOT_VERSION_UTF8_STRING
|
||||||
|
#define MILE_PROJECT_DOT_VERSION_UTF8_STRING \
|
||||||
|
MILE_PROJECT_MACRO_TO_UTF8_STRING(MILE_PROJECT_DOT_VERSION)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_DEFINE_SIMPLE_VERSION
|
||||||
|
#define MILE_PROJECT_DEFINE_SIMPLE_VERSION(MAJOR,MINOR) \
|
||||||
|
MAJOR.MINOR
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_SIMPLE_VERSION
|
||||||
|
#define MILE_PROJECT_SIMPLE_VERSION \
|
||||||
|
MILE_PROJECT_DEFINE_SIMPLE_VERSION( \
|
||||||
|
MILE_PROJECT_VERSION_MAJOR, \
|
||||||
|
MILE_PROJECT_VERSION_MINOR)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_SIMPLE_VERSION_STRING
|
||||||
|
#define MILE_PROJECT_SIMPLE_VERSION_STRING \
|
||||||
|
MILE_PROJECT_MACRO_TO_STRING(MILE_PROJECT_SIMPLE_VERSION)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef MILE_PROJECT_VERSION_TAG
|
||||||
|
#define MILE_PROJECT_VERSION_TAG_STRING L" " MILE_PROJECT_VERSION_TAG
|
||||||
|
#else
|
||||||
|
#define MILE_PROJECT_VERSION_TAG_STRING
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_VERSION_STRING
|
||||||
|
#define MILE_PROJECT_VERSION_STRING \
|
||||||
|
MILE_PROJECT_SIMPLE_VERSION_STRING \
|
||||||
|
MILE_PROJECT_VERSION_TAG_STRING
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_SIMPLE_VERSION_UTF8_STRING
|
||||||
|
#define MILE_PROJECT_SIMPLE_VERSION_UTF8_STRING \
|
||||||
|
MILE_PROJECT_MACRO_TO_UTF8_STRING(MILE_PROJECT_SIMPLE_VERSION)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef MILE_PROJECT_VERSION_TAG
|
||||||
|
#define MILE_PROJECT_VERSION_TAG_UTF8_STRING " " MILE_PROJECT_VERSION_TAG
|
||||||
|
#else
|
||||||
|
#define MILE_PROJECT_VERSION_TAG_UTF8_STRING
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef MILE_PROJECT_VERSION_UTF8_STRING
|
||||||
|
#define MILE_PROJECT_VERSION_UTF8_STRING \
|
||||||
|
MILE_PROJECT_SIMPLE_VERSION_UTF8_STRING \
|
||||||
|
MILE_PROJECT_VERSION_TAG_UTF8_STRING
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
42
LVGL Simulator/LVGL.Simulator/assets.c
Normal file
42
LVGL Simulator/LVGL.Simulator/assets.c
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
#include <lvgl.h>
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef LV_ATTRIBUTE_MEM_ALIGN
|
||||||
|
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef LV_ATTRIBUTE_IMG_MINIVERLAUF
|
||||||
|
#define LV_ATTRIBUTE_IMG_MINIVERLAUF
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MINIVERLAUF uint8_t miniVerlauf_map[] = {
|
||||||
|
0xfa, 0xf2, 0xea, 0xe2, 0xda, 0xd1, 0xc7, 0xbe, 0xb7, 0xae, 0xa6, 0x9e, 0x95, 0x8d, 0x84, 0x7d, 0x74, 0x6c, 0x62, 0x5a, 0x51, 0x48, 0x41, 0x38, 0x2f, 0x28, 0x1f, 0x17, 0x0f, 0x07,
|
||||||
|
};
|
||||||
|
|
||||||
|
const lv_img_dsc_t miniVerlauf = {
|
||||||
|
.header.cf = LV_IMG_CF_ALPHA_8BIT,
|
||||||
|
.header.always_zero = 0,
|
||||||
|
.header.reserved = 0,
|
||||||
|
.header.w = 30,
|
||||||
|
.header.h = 1,
|
||||||
|
.data_size = 30,
|
||||||
|
.data = miniVerlauf_map,
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifndef LV_ATTRIBUTE_IMG_MINIVERLAUFGEDREHT
|
||||||
|
#define LV_ATTRIBUTE_IMG_MINIVERLAUFGEDREHT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const LV_ATTRIBUTE_MEM_ALIGN LV_ATTRIBUTE_LARGE_CONST LV_ATTRIBUTE_IMG_MINIVERLAUFGEDREHT uint8_t miniVerlaufGedreht_map[] = {
|
||||||
|
0x07, 0x0f, 0x17, 0x1f, 0x28, 0x2f, 0x38, 0x41, 0x48, 0x51, 0x5a, 0x62, 0x6c, 0x74, 0x7d, 0x84, 0x8d, 0x95, 0x9e, 0xa6, 0xae, 0xb7, 0xbe, 0xc7, 0xd1, 0xda, 0xe2, 0xea, 0xf2, 0xfa,
|
||||||
|
};
|
||||||
|
|
||||||
|
const lv_img_dsc_t miniVerlaufGedreht = {
|
||||||
|
.header.cf = LV_IMG_CF_ALPHA_8BIT,
|
||||||
|
.header.always_zero = 0,
|
||||||
|
.header.reserved = 0,
|
||||||
|
.header.w = 30,
|
||||||
|
.header.h = 1,
|
||||||
|
.data_size = 30,
|
||||||
|
.data = miniVerlaufGedreht_map,
|
||||||
|
};
|
71
LVGL Simulator/LVGL.Simulator/freetype.props
Normal file
71
LVGL Simulator/LVGL.Simulator/freetype.props
Normal file
|
@ -0,0 +1,71 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
PROJECT: LVGL PC Simulator using Visual Studio
|
||||||
|
FILE: freetype.props
|
||||||
|
PURPOSE: Property sheet for FreeType
|
||||||
|
|
||||||
|
LICENSE: The MIT License
|
||||||
|
|
||||||
|
DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
-->
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<IncludePath>$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\include\;$(IncludePath);</IncludePath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemDefinitionGroup>
|
||||||
|
<ClCompile>
|
||||||
|
<PreprocessorDefinitions>FT2_BUILD_LIBRARY;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<DisableSpecificWarnings>4703;%(DisableSpecificWarnings)</DisableSpecificWarnings>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<Target Name="FreeTypeLibraryBuildSource" BeforeTargets="BeforeClCompile">
|
||||||
|
<ItemGroup>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\autofit\autofit.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftbase.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftbbox.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftbdf.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftbitmap.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftcid.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftfstype.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftgasp.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftglyph.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftgxval.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftinit.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftmm.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftotval.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftpatent.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftpfr.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftstroke.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftsynth.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\fttype1.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\base\ftwinfnt.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\bdf\bdf.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\cache\ftcache.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\cff\cff.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\cid\type1cid.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\dlg\dlgwrap.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\gzip\ftgzip.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\lzw\ftlzw.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\pcf\pcf.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\pfr\pfr.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\psaux\psaux.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\pshinter\pshinter.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\psnames\psmodule.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\raster\raster.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\sfnt\sfnt.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\smooth\smooth.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\sdf\sdf.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\svg\svg.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\truetype\truetype.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\type1\type1.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\type42\type42.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\src\winfonts\winfnt.c" />
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\builds\windows\ftdebug.c">
|
||||||
|
<DisableLanguageExtensions>false</DisableLanguageExtensions>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="$(MSBuildThisFileDirectory)..\LvglPlatform\freetype\builds\windows\ftsystem.c">
|
||||||
|
<DisableLanguageExtensions>false</DisableLanguageExtensions>
|
||||||
|
</ClCompile>
|
||||||
|
</ItemGroup>
|
||||||
|
</Target>
|
||||||
|
</Project>
|
759
LVGL Simulator/LVGL.Simulator/lv_conf.h
Normal file
759
LVGL Simulator/LVGL.Simulator/lv_conf.h
Normal file
|
@ -0,0 +1,759 @@
|
||||||
|
/**
|
||||||
|
* @file lv_conf.h
|
||||||
|
* Configuration file for v8.3.4
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Copy this file as `lv_conf.h`
|
||||||
|
* 1. simply next to the `lvgl` folder
|
||||||
|
* 2. or any other places and
|
||||||
|
* - define `LV_CONF_INCLUDE_SIMPLE`
|
||||||
|
* - add the path as include path
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* clang-format off */
|
||||||
|
#if 1 /*Set it to "1" to enable content*/
|
||||||
|
|
||||||
|
#ifndef LV_CONF_H
|
||||||
|
#define LV_CONF_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
/*====================
|
||||||
|
COLOR SETTINGS
|
||||||
|
*====================*/
|
||||||
|
|
||||||
|
/*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/
|
||||||
|
#define LV_COLOR_DEPTH 16
|
||||||
|
|
||||||
|
/*Swap the 2 bytes of RGB565 color. Useful if the display has an 8-bit interface (e.g. SPI)*/
|
||||||
|
#define LV_COLOR_16_SWAP 0
|
||||||
|
|
||||||
|
/*Enable features to draw on transparent background.
|
||||||
|
*It's required if opa, and transform_* style properties are used.
|
||||||
|
*Can be also used if the UI is above another layer, e.g. an OSD menu or video player.*/
|
||||||
|
#define LV_COLOR_SCREEN_TRANSP 1
|
||||||
|
|
||||||
|
/* Adjust color mix functions rounding. GPUs might calculate color mix (blending) differently.
|
||||||
|
* 0: round down, 64: round up from x.75, 128: round up from half, 192: round up from x.25, 254: round up */
|
||||||
|
#define LV_COLOR_MIX_ROUND_OFS 0
|
||||||
|
|
||||||
|
/*Images pixels with this color will not be drawn if they are chroma keyed)*/
|
||||||
|
#define LV_COLOR_CHROMA_KEY lv_color_hex(0x00ff00) /*pure green*/
|
||||||
|
|
||||||
|
/*=========================
|
||||||
|
MEMORY SETTINGS
|
||||||
|
*=========================*/
|
||||||
|
|
||||||
|
/*1: use custom malloc/free, 0: use the built-in `lv_mem_alloc()` and `lv_mem_free()`*/
|
||||||
|
#define LV_MEM_CUSTOM 0
|
||||||
|
#if LV_MEM_CUSTOM == 0
|
||||||
|
/*Size of the memory available for `lv_mem_alloc()` in bytes (>= 2kB)*/
|
||||||
|
#define LV_MEM_SIZE (1024U * 1024U) /*[bytes]*/
|
||||||
|
|
||||||
|
/*Set an address for the memory pool instead of allocating it as a normal array. Can be in external SRAM too.*/
|
||||||
|
#define LV_MEM_ADR 0 /*0: unused*/
|
||||||
|
/*Instead of an address give a memory allocator that will be called to get a memory pool for LVGL. E.g. my_malloc*/
|
||||||
|
#if LV_MEM_ADR == 0
|
||||||
|
#undef LV_MEM_POOL_INCLUDE
|
||||||
|
#undef LV_MEM_POOL_ALLOC
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#else /*LV_MEM_CUSTOM*/
|
||||||
|
#define LV_MEM_CUSTOM_INCLUDE <stdlib.h> /*Header for the dynamic memory function*/
|
||||||
|
#define LV_MEM_CUSTOM_ALLOC malloc
|
||||||
|
#define LV_MEM_CUSTOM_FREE free
|
||||||
|
#define LV_MEM_CUSTOM_REALLOC realloc
|
||||||
|
#endif /*LV_MEM_CUSTOM*/
|
||||||
|
|
||||||
|
/*Number of the intermediate memory buffer used during rendering and other internal processing mechanisms.
|
||||||
|
*You will see an error log message if there wasn't enough buffers. */
|
||||||
|
#define LV_MEM_BUF_MAX_NUM 16
|
||||||
|
|
||||||
|
/*Use the standard `memcpy` and `memset` instead of LVGL's own functions. (Might or might not be faster).*/
|
||||||
|
#define LV_MEMCPY_MEMSET_STD 0
|
||||||
|
|
||||||
|
/*====================
|
||||||
|
HAL SETTINGS
|
||||||
|
*====================*/
|
||||||
|
|
||||||
|
/*Default display refresh period. LVG will redraw changed areas with this period time*/
|
||||||
|
#define LV_DISP_DEF_REFR_PERIOD 10 /*[ms]*/
|
||||||
|
|
||||||
|
/*Input device read period in milliseconds*/
|
||||||
|
#define LV_INDEV_DEF_READ_PERIOD 10 /*[ms]*/
|
||||||
|
|
||||||
|
/*Use a custom tick source that tells the elapsed time in milliseconds.
|
||||||
|
*It removes the need to manually update the tick with `lv_tick_inc()`)*/
|
||||||
|
#define LV_TICK_CUSTOM 1
|
||||||
|
#if LV_TICK_CUSTOM
|
||||||
|
#define LV_TICK_CUSTOM_INCLUDE <Windows.h> /*Header for the system time function*/
|
||||||
|
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (GetTickCount()) /*Expression evaluating to current system time in ms*/
|
||||||
|
#endif /*LV_TICK_CUSTOM*/
|
||||||
|
|
||||||
|
/*Default Dot Per Inch. Used to initialize default sizes such as widgets sized, style paddings.
|
||||||
|
*(Not so important, you can adjust it to modify default sizes and spaces)*/
|
||||||
|
#define LV_DPI_DEF 130 /*[px/inch]*/
|
||||||
|
|
||||||
|
/*=======================
|
||||||
|
* FEATURE CONFIGURATION
|
||||||
|
*=======================*/
|
||||||
|
|
||||||
|
/*-------------
|
||||||
|
* Drawing
|
||||||
|
*-----------*/
|
||||||
|
|
||||||
|
/*Enable complex draw engine.
|
||||||
|
*Required to draw shadow, gradient, rounded corners, circles, arc, skew lines, image transformations or any masks*/
|
||||||
|
#define LV_DRAW_COMPLEX 1
|
||||||
|
#if LV_DRAW_COMPLEX != 0
|
||||||
|
|
||||||
|
/*Allow buffering some shadow calculation.
|
||||||
|
*LV_SHADOW_CACHE_SIZE is the max. shadow size to buffer, where shadow size is `shadow_width + radius`
|
||||||
|
*Caching has LV_SHADOW_CACHE_SIZE^2 RAM cost*/
|
||||||
|
#define LV_SHADOW_CACHE_SIZE 0
|
||||||
|
|
||||||
|
/* Set number of maximally cached circle data.
|
||||||
|
* The circumference of 1/4 circle are saved for anti-aliasing
|
||||||
|
* radius * 4 bytes are used per circle (the most often used radiuses are saved)
|
||||||
|
* 0: to disable caching */
|
||||||
|
#define LV_CIRCLE_CACHE_SIZE 4
|
||||||
|
#endif /*LV_DRAW_COMPLEX*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* "Simple layers" are used when a widget has `style_opa < 255` to buffer the widget into a layer
|
||||||
|
* and blend it as an image with the given opacity.
|
||||||
|
* Note that `bg_opa`, `text_opa` etc don't require buffering into layer)
|
||||||
|
* The widget can be buffered in smaller chunks to avoid using large buffers.
|
||||||
|
*
|
||||||
|
* - LV_LAYER_SIMPLE_BUF_SIZE: [bytes] the optimal target buffer size. LVGL will try to allocate it
|
||||||
|
* - LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE: [bytes] used if `LV_LAYER_SIMPLE_BUF_SIZE` couldn't be allocated.
|
||||||
|
*
|
||||||
|
* Both buffer sizes are in bytes.
|
||||||
|
* "Transformed layers" (where transform_angle/zoom properties are used) use larger buffers
|
||||||
|
* and can't be drawn in chunks. So these settings affects only widgets with opacity.
|
||||||
|
*/
|
||||||
|
#define LV_LAYER_SIMPLE_BUF_SIZE (24 * 1024)
|
||||||
|
#define LV_LAYER_SIMPLE_FALLBACK_BUF_SIZE (3 * 1024)
|
||||||
|
|
||||||
|
/*Default image cache size. Image caching keeps the images opened.
|
||||||
|
*If only the built-in image formats are used there is no real advantage of caching. (I.e. if no new image decoder is added)
|
||||||
|
*With complex image decoders (e.g. PNG or JPG) caching can save the continuous open/decode of images.
|
||||||
|
*However the opened images might consume additional RAM.
|
||||||
|
*0: to disable caching*/
|
||||||
|
#define LV_IMG_CACHE_DEF_SIZE 0
|
||||||
|
|
||||||
|
/*Number of stops allowed per gradient. Increase this to allow more stops.
|
||||||
|
*This adds (sizeof(lv_color_t) + 1) bytes per additional stop*/
|
||||||
|
#define LV_GRADIENT_MAX_STOPS 2
|
||||||
|
|
||||||
|
/*Default gradient buffer size.
|
||||||
|
*When LVGL calculates the gradient "maps" it can save them into a cache to avoid calculating them again.
|
||||||
|
*LV_GRAD_CACHE_DEF_SIZE sets the size of this cache in bytes.
|
||||||
|
*If the cache is too small the map will be allocated only while it's required for the drawing.
|
||||||
|
*0 mean no caching.*/
|
||||||
|
#define LV_GRAD_CACHE_DEF_SIZE 0
|
||||||
|
|
||||||
|
/*Allow dithering the gradients (to achieve visual smooth color gradients on limited color depth display)
|
||||||
|
*LV_DITHER_GRADIENT implies allocating one or two more lines of the object's rendering surface
|
||||||
|
*The increase in memory consumption is (32 bits * object width) plus 24 bits * object width if using error diffusion */
|
||||||
|
#define LV_DITHER_GRADIENT 0
|
||||||
|
#if LV_DITHER_GRADIENT
|
||||||
|
/*Add support for error diffusion dithering.
|
||||||
|
*Error diffusion dithering gets a much better visual result, but implies more CPU consumption and memory when drawing.
|
||||||
|
*The increase in memory consumption is (24 bits * object's width)*/
|
||||||
|
#define LV_DITHER_ERROR_DIFFUSION 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*Maximum buffer size to allocate for rotation.
|
||||||
|
*Only used if software rotation is enabled in the display driver.*/
|
||||||
|
#define LV_DISP_ROT_MAX_BUF (10*1024)
|
||||||
|
|
||||||
|
/*-------------
|
||||||
|
* GPU
|
||||||
|
*-----------*/
|
||||||
|
|
||||||
|
/*Use Arm's 2D acceleration library Arm-2D */
|
||||||
|
#define LV_USE_GPU_ARM2D 0
|
||||||
|
|
||||||
|
/*Use STM32's DMA2D (aka Chrom Art) GPU*/
|
||||||
|
#define LV_USE_GPU_STM32_DMA2D 0
|
||||||
|
#if LV_USE_GPU_STM32_DMA2D
|
||||||
|
/*Must be defined to include path of CMSIS header of target processor
|
||||||
|
e.g. "stm32f769xx.h" or "stm32f429xx.h"*/
|
||||||
|
#define LV_GPU_DMA2D_CMSIS_INCLUDE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*Use SWM341's DMA2D GPU*/
|
||||||
|
#define LV_USE_GPU_SWM341_DMA2D 0
|
||||||
|
#if LV_USE_GPU_SWM341_DMA2D
|
||||||
|
#define LV_GPU_SWM341_DMA2D_INCLUDE "SWM341.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*Use NXP's PXP GPU iMX RTxxx platforms*/
|
||||||
|
#define LV_USE_GPU_NXP_PXP 0
|
||||||
|
#if LV_USE_GPU_NXP_PXP
|
||||||
|
/*1: Add default bare metal and FreeRTOS interrupt handling routines for PXP (lv_gpu_nxp_pxp_osa.c)
|
||||||
|
* and call lv_gpu_nxp_pxp_init() automatically during lv_init(). Note that symbol SDK_OS_FREE_RTOS
|
||||||
|
* has to be defined in order to use FreeRTOS OSA, otherwise bare-metal implementation is selected.
|
||||||
|
*0: lv_gpu_nxp_pxp_init() has to be called manually before lv_init()
|
||||||
|
*/
|
||||||
|
#define LV_USE_GPU_NXP_PXP_AUTO_INIT 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*Use NXP's VG-Lite GPU iMX RTxxx platforms*/
|
||||||
|
#define LV_USE_GPU_NXP_VG_LITE 0
|
||||||
|
|
||||||
|
/*Use SDL renderer API*/
|
||||||
|
#define LV_USE_GPU_SDL 0
|
||||||
|
#if LV_USE_GPU_SDL
|
||||||
|
#define LV_GPU_SDL_INCLUDE_PATH <SDL2/SDL.h>
|
||||||
|
/*Texture cache size, 8MB by default*/
|
||||||
|
#define LV_GPU_SDL_LRU_SIZE (1024 * 1024 * 8)
|
||||||
|
/*Custom blend mode for mask drawing, disable if you need to link with older SDL2 lib*/
|
||||||
|
#define LV_GPU_SDL_CUSTOM_BLEND_MODE (SDL_VERSION_ATLEAST(2, 0, 6))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-------------
|
||||||
|
* Logging
|
||||||
|
*-----------*/
|
||||||
|
|
||||||
|
/*Enable the log module*/
|
||||||
|
#define LV_USE_LOG 1
|
||||||
|
#if LV_USE_LOG
|
||||||
|
|
||||||
|
/*How important log should be added:
|
||||||
|
*LV_LOG_LEVEL_TRACE A lot of logs to give detailed information
|
||||||
|
*LV_LOG_LEVEL_INFO Log important events
|
||||||
|
*LV_LOG_LEVEL_WARN Log if something unwanted happened but didn't cause a problem
|
||||||
|
*LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail
|
||||||
|
*LV_LOG_LEVEL_USER Only logs added by the user
|
||||||
|
*LV_LOG_LEVEL_NONE Do not log anything*/
|
||||||
|
#define LV_LOG_LEVEL LV_LOG_LEVEL_WARN
|
||||||
|
|
||||||
|
/*1: Print the log with 'printf';
|
||||||
|
*0: User need to register a callback with `lv_log_register_print_cb()`*/
|
||||||
|
#define LV_LOG_PRINTF 1
|
||||||
|
|
||||||
|
/*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/
|
||||||
|
#define LV_LOG_TRACE_MEM 1
|
||||||
|
#define LV_LOG_TRACE_TIMER 1
|
||||||
|
#define LV_LOG_TRACE_INDEV 1
|
||||||
|
#define LV_LOG_TRACE_DISP_REFR 1
|
||||||
|
#define LV_LOG_TRACE_EVENT 1
|
||||||
|
#define LV_LOG_TRACE_OBJ_CREATE 1
|
||||||
|
#define LV_LOG_TRACE_LAYOUT 1
|
||||||
|
#define LV_LOG_TRACE_ANIM 1
|
||||||
|
|
||||||
|
#endif /*LV_USE_LOG*/
|
||||||
|
|
||||||
|
/*-------------
|
||||||
|
* Asserts
|
||||||
|
*-----------*/
|
||||||
|
|
||||||
|
/*Enable asserts if an operation is failed or an invalid data is found.
|
||||||
|
*If LV_USE_LOG is enabled an error message will be printed on failure*/
|
||||||
|
#define LV_USE_ASSERT_NULL 1 /*Check if the parameter is NULL. (Very fast, recommended)*/
|
||||||
|
#define LV_USE_ASSERT_MALLOC 1 /*Checks is the memory is successfully allocated or no. (Very fast, recommended)*/
|
||||||
|
#define LV_USE_ASSERT_STYLE 1 /*Check if the styles are properly initialized. (Very fast, recommended)*/
|
||||||
|
#define LV_USE_ASSERT_MEM_INTEGRITY 1 /*Check the integrity of `lv_mem` after critical operations. (Slow)*/
|
||||||
|
#define LV_USE_ASSERT_OBJ 1 /*Check the object's type and existence (e.g. not deleted). (Slow)*/
|
||||||
|
|
||||||
|
/*Add a custom handler when assert happens e.g. to restart the MCU*/
|
||||||
|
#define LV_ASSERT_HANDLER_INCLUDE <stdint.h>
|
||||||
|
#define LV_ASSERT_HANDLER while(1); /*Halt by default*/
|
||||||
|
|
||||||
|
/*-------------
|
||||||
|
* Others
|
||||||
|
*-----------*/
|
||||||
|
|
||||||
|
/*1: Show CPU usage and FPS count*/
|
||||||
|
#define LV_USE_PERF_MONITOR 0
|
||||||
|
#if LV_USE_PERF_MONITOR
|
||||||
|
#define LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*1: Show the used memory and the memory fragmentation
|
||||||
|
* Requires LV_MEM_CUSTOM = 0*/
|
||||||
|
#define LV_USE_MEM_MONITOR 0
|
||||||
|
#if LV_USE_MEM_MONITOR
|
||||||
|
#define LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*1: Draw random colored rectangles over the redrawn areas*/
|
||||||
|
#define LV_USE_REFR_DEBUG 0
|
||||||
|
|
||||||
|
/*Change the built in (v)snprintf functions*/
|
||||||
|
#define LV_SPRINTF_CUSTOM 0
|
||||||
|
#if LV_SPRINTF_CUSTOM
|
||||||
|
#define LV_SPRINTF_INCLUDE <stdio.h>
|
||||||
|
#define lv_snprintf snprintf
|
||||||
|
#define lv_vsnprintf vsnprintf
|
||||||
|
#else /*LV_SPRINTF_CUSTOM*/
|
||||||
|
#define LV_SPRINTF_USE_FLOAT 0
|
||||||
|
#endif /*LV_SPRINTF_CUSTOM*/
|
||||||
|
|
||||||
|
#define LV_USE_USER_DATA 1
|
||||||
|
|
||||||
|
/*Garbage Collector settings
|
||||||
|
*Used if lvgl is bound to higher level language and the memory is managed by that language*/
|
||||||
|
#define LV_ENABLE_GC 0
|
||||||
|
#if LV_ENABLE_GC != 0
|
||||||
|
#define LV_GC_INCLUDE "gc.h" /*Include Garbage Collector related things*/
|
||||||
|
#endif /*LV_ENABLE_GC*/
|
||||||
|
|
||||||
|
/*=====================
|
||||||
|
* COMPILER SETTINGS
|
||||||
|
*====================*/
|
||||||
|
|
||||||
|
/*For big endian systems set to 1*/
|
||||||
|
#define LV_BIG_ENDIAN_SYSTEM 0
|
||||||
|
|
||||||
|
/*Define a custom attribute to `lv_tick_inc` function*/
|
||||||
|
#define LV_ATTRIBUTE_TICK_INC
|
||||||
|
|
||||||
|
/*Define a custom attribute to `lv_timer_handler` function*/
|
||||||
|
#define LV_ATTRIBUTE_TIMER_HANDLER
|
||||||
|
|
||||||
|
/*Define a custom attribute to `lv_disp_flush_ready` function*/
|
||||||
|
#define LV_ATTRIBUTE_FLUSH_READY
|
||||||
|
|
||||||
|
/*Required alignment size for buffers*/
|
||||||
|
#define LV_ATTRIBUTE_MEM_ALIGN_SIZE 1
|
||||||
|
|
||||||
|
/*Will be added where memories needs to be aligned (with -Os data might not be aligned to boundary by default).
|
||||||
|
* E.g. __attribute__((aligned(4)))*/
|
||||||
|
#define LV_ATTRIBUTE_MEM_ALIGN
|
||||||
|
|
||||||
|
/*Attribute to mark large constant arrays for example font's bitmaps*/
|
||||||
|
#define LV_ATTRIBUTE_LARGE_CONST
|
||||||
|
|
||||||
|
/*Compiler prefix for a big array declaration in RAM*/
|
||||||
|
#define LV_ATTRIBUTE_LARGE_RAM_ARRAY
|
||||||
|
|
||||||
|
/*Place performance critical functions into a faster memory (e.g RAM)*/
|
||||||
|
#define LV_ATTRIBUTE_FAST_MEM
|
||||||
|
|
||||||
|
/*Prefix variables that are used in GPU accelerated operations, often these need to be placed in RAM sections that are DMA accessible*/
|
||||||
|
#define LV_ATTRIBUTE_DMA
|
||||||
|
|
||||||
|
/*Export integer constant to binding. This macro is used with constants in the form of LV_<CONST> that
|
||||||
|
*should also appear on LVGL binding API such as Micropython.*/
|
||||||
|
#define LV_EXPORT_CONST_INT(int_value) struct _silence_gcc_warning /*The default value just prevents GCC warning*/
|
||||||
|
|
||||||
|
/*Extend the default -32k..32k coordinate range to -4M..4M by using int32_t for coordinates instead of int16_t*/
|
||||||
|
#define LV_USE_LARGE_COORD 0
|
||||||
|
|
||||||
|
/*==================
|
||||||
|
* FONT USAGE
|
||||||
|
*===================*/
|
||||||
|
|
||||||
|
/*Montserrat fonts with ASCII range and some symbols using bpp = 4
|
||||||
|
*https://fonts.google.com/specimen/Montserrat*/
|
||||||
|
#define LV_FONT_MONTSERRAT_8 1
|
||||||
|
#define LV_FONT_MONTSERRAT_10 1
|
||||||
|
#define LV_FONT_MONTSERRAT_12 1
|
||||||
|
#define LV_FONT_MONTSERRAT_14 1
|
||||||
|
#define LV_FONT_MONTSERRAT_16 1
|
||||||
|
#define LV_FONT_MONTSERRAT_18 1
|
||||||
|
#define LV_FONT_MONTSERRAT_20 1
|
||||||
|
#define LV_FONT_MONTSERRAT_22 1
|
||||||
|
#define LV_FONT_MONTSERRAT_24 1
|
||||||
|
#define LV_FONT_MONTSERRAT_26 1
|
||||||
|
#define LV_FONT_MONTSERRAT_28 1
|
||||||
|
#define LV_FONT_MONTSERRAT_30 1
|
||||||
|
#define LV_FONT_MONTSERRAT_32 1
|
||||||
|
#define LV_FONT_MONTSERRAT_34 1
|
||||||
|
#define LV_FONT_MONTSERRAT_36 1
|
||||||
|
#define LV_FONT_MONTSERRAT_38 1
|
||||||
|
#define LV_FONT_MONTSERRAT_40 1
|
||||||
|
#define LV_FONT_MONTSERRAT_42 1
|
||||||
|
#define LV_FONT_MONTSERRAT_44 1
|
||||||
|
#define LV_FONT_MONTSERRAT_46 1
|
||||||
|
#define LV_FONT_MONTSERRAT_48 1
|
||||||
|
|
||||||
|
/*Demonstrate special features*/
|
||||||
|
#define LV_FONT_MONTSERRAT_12_SUBPX 1
|
||||||
|
#define LV_FONT_MONTSERRAT_28_COMPRESSED 1 /*bpp = 3*/
|
||||||
|
#define LV_FONT_DEJAVU_16_PERSIAN_HEBREW 1 /*Hebrew, Arabic, Persian letters and all their forms*/
|
||||||
|
#define LV_FONT_SIMSUN_16_CJK 1 /*1000 most common CJK radicals*/
|
||||||
|
|
||||||
|
/*Pixel perfect monospace fonts*/
|
||||||
|
#define LV_FONT_UNSCII_8 1
|
||||||
|
#define LV_FONT_UNSCII_16 0
|
||||||
|
|
||||||
|
/*Optionally declare custom fonts here.
|
||||||
|
*You can use these fonts as default font too and they will be available globally.
|
||||||
|
*E.g. #define LV_FONT_CUSTOM_DECLARE LV_FONT_DECLARE(my_font_1) LV_FONT_DECLARE(my_font_2)*/
|
||||||
|
#define LV_FONT_CUSTOM_DECLARE
|
||||||
|
|
||||||
|
/*Always set a default font*/
|
||||||
|
#define LV_FONT_DEFAULT &lv_font_montserrat_14
|
||||||
|
|
||||||
|
/*Enable handling large font and/or fonts with a lot of characters.
|
||||||
|
*The limit depends on the font size, font face and bpp.
|
||||||
|
*Compiler error will be triggered if a font needs it.*/
|
||||||
|
#define LV_FONT_FMT_TXT_LARGE 0
|
||||||
|
|
||||||
|
/*Enables/disables support for compressed fonts.*/
|
||||||
|
#define LV_USE_FONT_COMPRESSED 1
|
||||||
|
|
||||||
|
/*Enable subpixel rendering*/
|
||||||
|
#define LV_USE_FONT_SUBPX 1
|
||||||
|
#if LV_USE_FONT_SUBPX
|
||||||
|
/*Set the pixel order of the display. Physical order of RGB channels. Doesn't matter with "normal" fonts.*/
|
||||||
|
#define LV_FONT_SUBPX_BGR 0 /*0: RGB; 1:BGR order*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*Enable drawing placeholders when glyph dsc is not found*/
|
||||||
|
#define LV_USE_FONT_PLACEHOLDER 1
|
||||||
|
|
||||||
|
/*=================
|
||||||
|
* TEXT SETTINGS
|
||||||
|
*=================*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Select a character encoding for strings.
|
||||||
|
* Your IDE or editor should have the same character encoding
|
||||||
|
* - LV_TXT_ENC_UTF8
|
||||||
|
* - LV_TXT_ENC_ASCII
|
||||||
|
*/
|
||||||
|
#define LV_TXT_ENC LV_TXT_ENC_UTF8
|
||||||
|
|
||||||
|
/*Can break (wrap) texts on these chars*/
|
||||||
|
#define LV_TXT_BREAK_CHARS " ,.;:-_"
|
||||||
|
|
||||||
|
/*If a word is at least this long, will break wherever "prettiest"
|
||||||
|
*To disable, set to a value <= 0*/
|
||||||
|
#define LV_TXT_LINE_BREAK_LONG_LEN 0
|
||||||
|
|
||||||
|
/*Minimum number of characters in a long word to put on a line before a break.
|
||||||
|
*Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/
|
||||||
|
#define LV_TXT_LINE_BREAK_LONG_PRE_MIN_LEN 3
|
||||||
|
|
||||||
|
/*Minimum number of characters in a long word to put on a line after a break.
|
||||||
|
*Depends on LV_TXT_LINE_BREAK_LONG_LEN.*/
|
||||||
|
#define LV_TXT_LINE_BREAK_LONG_POST_MIN_LEN 3
|
||||||
|
|
||||||
|
/*The control character to use for signalling text recoloring.*/
|
||||||
|
#define LV_TXT_COLOR_CMD "#"
|
||||||
|
|
||||||
|
/*Support bidirectional texts. Allows mixing Left-to-Right and Right-to-Left texts.
|
||||||
|
*The direction will be processed according to the Unicode Bidirectional Algorithm:
|
||||||
|
*https://www.w3.org/International/articles/inline-bidi-markup/uba-basics*/
|
||||||
|
#define LV_USE_BIDI 1
|
||||||
|
#if LV_USE_BIDI
|
||||||
|
/*Set the default direction. Supported values:
|
||||||
|
*`LV_BASE_DIR_LTR` Left-to-Right
|
||||||
|
*`LV_BASE_DIR_RTL` Right-to-Left
|
||||||
|
*`LV_BASE_DIR_AUTO` detect texts base direction*/
|
||||||
|
#define LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*Enable Arabic/Persian processing
|
||||||
|
*In these languages characters should be replaced with an other form based on their position in the text*/
|
||||||
|
#define LV_USE_ARABIC_PERSIAN_CHARS 1
|
||||||
|
|
||||||
|
/*==================
|
||||||
|
* WIDGET USAGE
|
||||||
|
*================*/
|
||||||
|
|
||||||
|
/*Documentation of the widgets: https://docs.lvgl.io/latest/en/html/widgets/index.html*/
|
||||||
|
|
||||||
|
#define LV_USE_ARC 1
|
||||||
|
|
||||||
|
#define LV_USE_BAR 1
|
||||||
|
|
||||||
|
#define LV_USE_BTN 1
|
||||||
|
|
||||||
|
#define LV_USE_BTNMATRIX 1
|
||||||
|
|
||||||
|
#define LV_USE_CANVAS 1
|
||||||
|
|
||||||
|
#define LV_USE_CHECKBOX 1
|
||||||
|
|
||||||
|
#define LV_USE_DROPDOWN 1 /*Requires: lv_label*/
|
||||||
|
|
||||||
|
#define LV_USE_IMG 1 /*Requires: lv_label*/
|
||||||
|
|
||||||
|
#define LV_USE_LABEL 1
|
||||||
|
#if LV_USE_LABEL
|
||||||
|
#define LV_LABEL_TEXT_SELECTION 1 /*Enable selecting text of the label*/
|
||||||
|
#define LV_LABEL_LONG_TXT_HINT 1 /*Store some extra info in labels to speed up drawing of very long texts*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define LV_USE_LINE 1
|
||||||
|
|
||||||
|
#define LV_USE_ROLLER 1 /*Requires: lv_label*/
|
||||||
|
#if LV_USE_ROLLER
|
||||||
|
#define LV_ROLLER_INF_PAGES 7 /*Number of extra "pages" when the roller is infinite*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define LV_USE_SLIDER 1 /*Requires: lv_bar*/
|
||||||
|
|
||||||
|
#define LV_USE_SWITCH 1
|
||||||
|
|
||||||
|
#define LV_USE_TEXTAREA 1 /*Requires: lv_label*/
|
||||||
|
#if LV_USE_TEXTAREA != 0
|
||||||
|
#define LV_TEXTAREA_DEF_PWD_SHOW_TIME 1500 /*ms*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define LV_USE_TABLE 1
|
||||||
|
|
||||||
|
/*==================
|
||||||
|
* EXTRA COMPONENTS
|
||||||
|
*==================*/
|
||||||
|
|
||||||
|
/*-----------
|
||||||
|
* Widgets
|
||||||
|
*----------*/
|
||||||
|
#define LV_USE_ANIMIMG 1
|
||||||
|
|
||||||
|
#define LV_USE_CALENDAR 1
|
||||||
|
#if LV_USE_CALENDAR
|
||||||
|
#define LV_CALENDAR_WEEK_STARTS_MONDAY 0
|
||||||
|
#if LV_CALENDAR_WEEK_STARTS_MONDAY
|
||||||
|
#define LV_CALENDAR_DEFAULT_DAY_NAMES {"Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"}
|
||||||
|
#else
|
||||||
|
#define LV_CALENDAR_DEFAULT_DAY_NAMES {"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define LV_CALENDAR_DEFAULT_MONTH_NAMES {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}
|
||||||
|
#define LV_USE_CALENDAR_HEADER_ARROW 1
|
||||||
|
#define LV_USE_CALENDAR_HEADER_DROPDOWN 1
|
||||||
|
#endif /*LV_USE_CALENDAR*/
|
||||||
|
|
||||||
|
#define LV_USE_CHART 1
|
||||||
|
|
||||||
|
#define LV_USE_COLORWHEEL 1
|
||||||
|
|
||||||
|
#define LV_USE_IMGBTN 1
|
||||||
|
|
||||||
|
#define LV_USE_KEYBOARD 1
|
||||||
|
|
||||||
|
#define LV_USE_LED 1
|
||||||
|
|
||||||
|
#define LV_USE_LIST 1
|
||||||
|
|
||||||
|
#define LV_USE_MENU 1
|
||||||
|
|
||||||
|
#define LV_USE_METER 1
|
||||||
|
|
||||||
|
#define LV_USE_MSGBOX 1
|
||||||
|
|
||||||
|
#define LV_USE_SPAN 1
|
||||||
|
#if LV_USE_SPAN
|
||||||
|
/*A line text can contain maximum num of span descriptor */
|
||||||
|
#define LV_SPAN_SNIPPET_STACK_SIZE 64
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define LV_USE_SPINBOX 1
|
||||||
|
|
||||||
|
#define LV_USE_SPINNER 1
|
||||||
|
|
||||||
|
#define LV_USE_TABVIEW 1
|
||||||
|
|
||||||
|
#define LV_USE_TILEVIEW 1
|
||||||
|
|
||||||
|
#define LV_USE_WIN 1
|
||||||
|
|
||||||
|
/*-----------
|
||||||
|
* Themes
|
||||||
|
*----------*/
|
||||||
|
|
||||||
|
/*A simple, impressive and very complete theme*/
|
||||||
|
#define LV_USE_THEME_DEFAULT 1
|
||||||
|
#if LV_USE_THEME_DEFAULT
|
||||||
|
|
||||||
|
/*0: Light mode; 1: Dark mode*/
|
||||||
|
#define LV_THEME_DEFAULT_DARK 1
|
||||||
|
|
||||||
|
/*1: Enable grow on press*/
|
||||||
|
#define LV_THEME_DEFAULT_GROW 1
|
||||||
|
|
||||||
|
/*Default transition time in [ms]*/
|
||||||
|
#define LV_THEME_DEFAULT_TRANSITION_TIME 80
|
||||||
|
#endif /*LV_USE_THEME_DEFAULT*/
|
||||||
|
|
||||||
|
/*A very simple theme that is a good starting point for a custom theme*/
|
||||||
|
#define LV_USE_THEME_BASIC 1
|
||||||
|
|
||||||
|
/*A theme designed for monochrome displays*/
|
||||||
|
#define LV_USE_THEME_MONO 1
|
||||||
|
|
||||||
|
/*-----------
|
||||||
|
* Layouts
|
||||||
|
*----------*/
|
||||||
|
|
||||||
|
/*A layout similar to Flexbox in CSS.*/
|
||||||
|
#define LV_USE_FLEX 1
|
||||||
|
|
||||||
|
/*A layout similar to Grid in CSS.*/
|
||||||
|
#define LV_USE_GRID 1
|
||||||
|
|
||||||
|
/*---------------------
|
||||||
|
* 3rd party libraries
|
||||||
|
*--------------------*/
|
||||||
|
|
||||||
|
/*File system interfaces for common APIs */
|
||||||
|
|
||||||
|
/*API for fopen, fread, etc*/
|
||||||
|
#define LV_USE_FS_STDIO 0
|
||||||
|
#if LV_USE_FS_STDIO
|
||||||
|
#define LV_FS_STDIO_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
|
||||||
|
#define LV_FS_STDIO_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/
|
||||||
|
#define LV_FS_STDIO_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*API for open, read, etc*/
|
||||||
|
#define LV_USE_FS_POSIX 0
|
||||||
|
#if LV_USE_FS_POSIX
|
||||||
|
#define LV_FS_POSIX_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
|
||||||
|
#define LV_FS_POSIX_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/
|
||||||
|
#define LV_FS_POSIX_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*API for CreateFile, ReadFile, etc*/
|
||||||
|
#define LV_USE_FS_WIN32 1
|
||||||
|
#if LV_USE_FS_WIN32
|
||||||
|
#define LV_FS_WIN32_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
|
||||||
|
#define LV_FS_WIN32_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/
|
||||||
|
#define LV_FS_WIN32_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*API for FATFS (needs to be added separately). Uses f_open, f_read, etc*/
|
||||||
|
#define LV_USE_FS_FATFS 0
|
||||||
|
#if LV_USE_FS_FATFS
|
||||||
|
#define LV_FS_FATFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
|
||||||
|
#define LV_FS_FATFS_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*PNG decoder library*/
|
||||||
|
#define LV_USE_PNG 0
|
||||||
|
|
||||||
|
/*BMP decoder library*/
|
||||||
|
#define LV_USE_BMP 0
|
||||||
|
|
||||||
|
/* JPG + split JPG decoder library.
|
||||||
|
* Split JPG is a custom format optimized for embedded systems. */
|
||||||
|
#define LV_USE_SJPG 0
|
||||||
|
|
||||||
|
/*GIF decoder library*/
|
||||||
|
#define LV_USE_GIF 0
|
||||||
|
|
||||||
|
/*QR code library*/
|
||||||
|
#define LV_USE_QRCODE 0
|
||||||
|
|
||||||
|
/*FreeType library*/
|
||||||
|
#define LV_USE_FREETYPE 0
|
||||||
|
#if LV_USE_FREETYPE
|
||||||
|
/*Memory used by FreeType to cache characters [bytes] (-1: no caching)*/
|
||||||
|
#define LV_FREETYPE_CACHE_SIZE (16 * 1024)
|
||||||
|
#if LV_FREETYPE_CACHE_SIZE >= 0
|
||||||
|
/* 1: bitmap cache use the sbit cache, 0:bitmap cache use the image cache. */
|
||||||
|
/* sbit cache:it is much more memory efficient for small bitmaps(font size < 256) */
|
||||||
|
/* if font size >= 256, must be configured as image cache */
|
||||||
|
#define LV_FREETYPE_SBIT_CACHE 0
|
||||||
|
/* Maximum number of opened FT_Face/FT_Size objects managed by this cache instance. */
|
||||||
|
/* (0:use system defaults) */
|
||||||
|
#define LV_FREETYPE_CACHE_FT_FACES 0
|
||||||
|
#define LV_FREETYPE_CACHE_FT_SIZES 0
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*Rlottie library*/
|
||||||
|
#define LV_USE_RLOTTIE 0
|
||||||
|
|
||||||
|
/*FFmpeg library for image decoding and playing videos
|
||||||
|
*Supports all major image formats so do not enable other image decoder with it*/
|
||||||
|
#define LV_USE_FFMPEG 0
|
||||||
|
#if LV_USE_FFMPEG
|
||||||
|
/*Dump input information to stderr*/
|
||||||
|
#define LV_FFMPEG_DUMP_FORMAT 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-----------
|
||||||
|
* Others
|
||||||
|
*----------*/
|
||||||
|
|
||||||
|
/*1: Enable API to take snapshot for object*/
|
||||||
|
#define LV_USE_SNAPSHOT 0
|
||||||
|
|
||||||
|
/*1: Enable Monkey test*/
|
||||||
|
#define LV_USE_MONKEY 0
|
||||||
|
|
||||||
|
/*1: Enable grid navigation*/
|
||||||
|
#define LV_USE_GRIDNAV 0
|
||||||
|
|
||||||
|
/*1: Enable lv_obj fragment*/
|
||||||
|
#define LV_USE_FRAGMENT 0
|
||||||
|
|
||||||
|
/*1: Support using images as font in label or span widgets */
|
||||||
|
#define LV_USE_IMGFONT 0
|
||||||
|
|
||||||
|
/*1: Enable a published subscriber based messaging system */
|
||||||
|
#define LV_USE_MSG 0
|
||||||
|
|
||||||
|
/*1: Enable Pinyin input method*/
|
||||||
|
/*Requires: lv_keyboard*/
|
||||||
|
#define LV_USE_IME_PINYIN 0
|
||||||
|
#if LV_USE_IME_PINYIN
|
||||||
|
/*1: Use default thesaurus*/
|
||||||
|
/*If you do not use the default thesaurus, be sure to use `lv_ime_pinyin` after setting the thesauruss*/
|
||||||
|
#define LV_IME_PINYIN_USE_DEFAULT_DICT 1
|
||||||
|
/*Set the maximum number of candidate panels that can be displayed*/
|
||||||
|
/*This needs to be adjusted according to the size of the screen*/
|
||||||
|
#define LV_IME_PINYIN_CAND_TEXT_NUM 6
|
||||||
|
|
||||||
|
/*Use 9 key input(k9)*/
|
||||||
|
#define LV_IME_PINYIN_USE_K9_MODE 1
|
||||||
|
#if LV_IME_PINYIN_USE_K9_MODE == 1
|
||||||
|
#define LV_IME_PINYIN_K9_CAND_TEXT_NUM 3
|
||||||
|
#endif // LV_IME_PINYIN_USE_K9_MODE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*==================
|
||||||
|
* EXAMPLES
|
||||||
|
*==================*/
|
||||||
|
|
||||||
|
/*Enable the examples to be built with the library*/
|
||||||
|
#define LV_BUILD_EXAMPLES 1
|
||||||
|
|
||||||
|
/*===================
|
||||||
|
* DEMO USAGE
|
||||||
|
====================*/
|
||||||
|
|
||||||
|
/*Show some widget. It might be required to increase `LV_MEM_SIZE` */
|
||||||
|
#define LV_USE_DEMO_WIDGETS 1
|
||||||
|
#if LV_USE_DEMO_WIDGETS
|
||||||
|
#define LV_DEMO_WIDGETS_SLIDESHOW 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*Demonstrate the usage of encoder and keyboard*/
|
||||||
|
#define LV_USE_DEMO_KEYPAD_AND_ENCODER 1
|
||||||
|
|
||||||
|
/*Benchmark your system*/
|
||||||
|
#define LV_USE_DEMO_BENCHMARK 1
|
||||||
|
#if LV_USE_DEMO_BENCHMARK
|
||||||
|
/*Use RGB565A8 images with 16 bit color depth instead of ARGB8565*/
|
||||||
|
#define LV_DEMO_BENCHMARK_RGB565A8 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*Stress test for LVGL*/
|
||||||
|
#define LV_USE_DEMO_STRESS 1
|
||||||
|
|
||||||
|
/*Music player demo*/
|
||||||
|
#define LV_USE_DEMO_MUSIC 1
|
||||||
|
#if LV_USE_DEMO_MUSIC
|
||||||
|
#define LV_DEMO_MUSIC_SQUARE 1
|
||||||
|
#define LV_DEMO_MUSIC_LANDSCAPE 1
|
||||||
|
#define LV_DEMO_MUSIC_ROUND 1
|
||||||
|
#define LV_DEMO_MUSIC_LARGE 1
|
||||||
|
#define LV_DEMO_MUSIC_AUTO_PLAY 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*--END OF LV_CONF_H--*/
|
||||||
|
|
||||||
|
#endif /*LV_CONF_H*/
|
||||||
|
|
||||||
|
#endif /*End of "Content enable"*/
|
494
LVGL Simulator/LVGL.Simulator/lv_drv_conf.h
Normal file
494
LVGL Simulator/LVGL.Simulator/lv_drv_conf.h
Normal file
|
@ -0,0 +1,494 @@
|
||||||
|
/**
|
||||||
|
* @file lv_drv_conf.h
|
||||||
|
* Configuration file for v9.0.0-dev
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* COPY THIS FILE AS lv_drv_conf.h
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* clang-format off */
|
||||||
|
#if 1 /*Set it to "1" to enable the content*/
|
||||||
|
|
||||||
|
#ifndef LV_DRV_CONF_H
|
||||||
|
#define LV_DRV_CONF_H
|
||||||
|
|
||||||
|
#include "lv_conf.h"
|
||||||
|
|
||||||
|
/*********************
|
||||||
|
* DELAY INTERFACE
|
||||||
|
*********************/
|
||||||
|
#define LV_DRV_DELAY_INCLUDE <stdint.h> /*Dummy include by default*/
|
||||||
|
#define LV_DRV_DELAY_US(us) /*delay_us(us)*/ /*Delay the given number of microseconds*/
|
||||||
|
#define LV_DRV_DELAY_MS(ms) /*delay_ms(ms)*/ /*Delay the given number of milliseconds*/
|
||||||
|
|
||||||
|
/*********************
|
||||||
|
* DISPLAY INTERFACE
|
||||||
|
*********************/
|
||||||
|
|
||||||
|
/*------------
|
||||||
|
* Common
|
||||||
|
*------------*/
|
||||||
|
#define LV_DRV_DISP_INCLUDE <stdint.h> /*Dummy include by default*/
|
||||||
|
#define LV_DRV_DISP_CMD_DATA(val) /*pin_x_set(val)*/ /*Set the command/data pin to 'val'*/
|
||||||
|
#define LV_DRV_DISP_RST(val) /*pin_x_set(val)*/ /*Set the reset pin to 'val'*/
|
||||||
|
|
||||||
|
/*---------
|
||||||
|
* SPI
|
||||||
|
*---------*/
|
||||||
|
#define LV_DRV_DISP_SPI_CS(val) /*spi_cs_set(val)*/ /*Set the SPI's Chip select to 'val'*/
|
||||||
|
#define LV_DRV_DISP_SPI_WR_BYTE(data) /*spi_wr(data)*/ /*Write a byte the SPI bus*/
|
||||||
|
#define LV_DRV_DISP_SPI_WR_ARRAY(adr, n) /*spi_wr_mem(adr, n)*/ /*Write 'n' bytes to SPI bus from 'adr'*/
|
||||||
|
|
||||||
|
/*------------------
|
||||||
|
* Parallel port
|
||||||
|
*-----------------*/
|
||||||
|
#define LV_DRV_DISP_PAR_CS(val) /*par_cs_set(val)*/ /*Set the Parallel port's Chip select to 'val'*/
|
||||||
|
#define LV_DRV_DISP_PAR_SLOW /*par_slow()*/ /*Set low speed on the parallel port*/
|
||||||
|
#define LV_DRV_DISP_PAR_FAST /*par_fast()*/ /*Set high speed on the parallel port*/
|
||||||
|
#define LV_DRV_DISP_PAR_WR_WORD(data) /*par_wr(data)*/ /*Write a word to the parallel port*/
|
||||||
|
#define LV_DRV_DISP_PAR_WR_ARRAY(adr, n) /*par_wr_mem(adr,n)*/ /*Write 'n' bytes to Parallel ports from 'adr'*/
|
||||||
|
|
||||||
|
/***************************
|
||||||
|
* INPUT DEVICE INTERFACE
|
||||||
|
***************************/
|
||||||
|
|
||||||
|
/*----------
|
||||||
|
* Common
|
||||||
|
*----------*/
|
||||||
|
#define LV_DRV_INDEV_INCLUDE <stdint.h> /*Dummy include by default*/
|
||||||
|
#define LV_DRV_INDEV_RST(val) /*pin_x_set(val)*/ /*Set the reset pin to 'val'*/
|
||||||
|
#define LV_DRV_INDEV_IRQ_READ 0 /*pn_x_read()*/ /*Read the IRQ pin*/
|
||||||
|
|
||||||
|
/*---------
|
||||||
|
* SPI
|
||||||
|
*---------*/
|
||||||
|
#define LV_DRV_INDEV_SPI_CS(val) /*spi_cs_set(val)*/ /*Set the SPI's Chip select to 'val'*/
|
||||||
|
#define LV_DRV_INDEV_SPI_XCHG_BYTE(data) 0 /*spi_xchg(val)*/ /*Write 'val' to SPI and give the read value*/
|
||||||
|
|
||||||
|
/*---------
|
||||||
|
* I2C
|
||||||
|
*---------*/
|
||||||
|
#define LV_DRV_INDEV_I2C_START /*i2c_start()*/ /*Make an I2C start*/
|
||||||
|
#define LV_DRV_INDEV_I2C_STOP /*i2c_stop()*/ /*Make an I2C stop*/
|
||||||
|
#define LV_DRV_INDEV_I2C_RESTART /*i2c_restart()*/ /*Make an I2C restart*/
|
||||||
|
#define LV_DRV_INDEV_I2C_WR(data) /*i2c_wr(data)*/ /*Write a byte to the I1C bus*/
|
||||||
|
#define LV_DRV_INDEV_I2C_READ(last_read) 0 /*i2c_rd()*/ /*Read a byte from the I2C bud*/
|
||||||
|
|
||||||
|
|
||||||
|
/*********************
|
||||||
|
* DISPLAY DRIVERS
|
||||||
|
*********************/
|
||||||
|
|
||||||
|
/*-------------------
|
||||||
|
* SDL
|
||||||
|
*-------------------*/
|
||||||
|
|
||||||
|
/* SDL based drivers for display, mouse, mousewheel and keyboard*/
|
||||||
|
#ifndef USE_SDL
|
||||||
|
# define USE_SDL 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Hardware accelerated SDL driver */
|
||||||
|
#ifndef USE_SDL_GPU
|
||||||
|
# define USE_SDL_GPU 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_SDL || USE_SDL_GPU
|
||||||
|
# define SDL_HOR_RES 480
|
||||||
|
# define SDL_VER_RES 320
|
||||||
|
|
||||||
|
/* Scale window by this factor (useful when simulating small screens) */
|
||||||
|
# define SDL_ZOOM 1
|
||||||
|
|
||||||
|
/* Used to test true double buffering with only address changing.
|
||||||
|
* Use 2 draw buffers, bith with SDL_HOR_RES x SDL_VER_RES size*/
|
||||||
|
# define SDL_DOUBLE_BUFFERED 0
|
||||||
|
|
||||||
|
/*Eclipse: <SDL2/SDL.h> Visual Studio: <SDL.h>*/
|
||||||
|
# define SDL_INCLUDE_PATH <SDL2/SDL.h>
|
||||||
|
|
||||||
|
/*Open two windows to test multi display support*/
|
||||||
|
# define SDL_DUAL_DISPLAY 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-------------------
|
||||||
|
* Monitor of PC
|
||||||
|
*-------------------*/
|
||||||
|
|
||||||
|
/*DEPRECATED: Use the SDL driver instead. */
|
||||||
|
#ifndef USE_MONITOR
|
||||||
|
# define USE_MONITOR 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_MONITOR
|
||||||
|
# define MONITOR_HOR_RES 480
|
||||||
|
# define MONITOR_VER_RES 320
|
||||||
|
|
||||||
|
/* Scale window by this factor (useful when simulating small screens) */
|
||||||
|
# define MONITOR_ZOOM 1
|
||||||
|
|
||||||
|
/* Used to test true double buffering with only address changing.
|
||||||
|
* Use 2 draw buffers, bith with MONITOR_HOR_RES x MONITOR_VER_RES size*/
|
||||||
|
# define MONITOR_DOUBLE_BUFFERED 0
|
||||||
|
|
||||||
|
/*Eclipse: <SDL2/SDL.h> Visual Studio: <SDL.h>*/
|
||||||
|
# define MONITOR_SDL_INCLUDE_PATH <SDL2/SDL.h>
|
||||||
|
|
||||||
|
/*Open two windows to test multi display support*/
|
||||||
|
# define MONITOR_DUAL 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-----------------------------------
|
||||||
|
* Native Windows (including mouse)
|
||||||
|
*----------------------------------*/
|
||||||
|
#ifndef USE_WINDOWS
|
||||||
|
# define USE_WINDOWS 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_WINDOWS
|
||||||
|
# define WINDOW_HOR_RES 480
|
||||||
|
# define WINDOW_VER_RES 320
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*----------------------------
|
||||||
|
* Native Windows (win32drv)
|
||||||
|
*---------------------------*/
|
||||||
|
#ifndef USE_WIN32DRV
|
||||||
|
# define USE_WIN32DRV 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_WIN32DRV
|
||||||
|
/* Scale window by this factor (useful when simulating small screens) */
|
||||||
|
# define WIN32DRV_MONITOR_ZOOM 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*----------------------------------------
|
||||||
|
* GTK drivers (monitor, mouse, keyboard
|
||||||
|
*---------------------------------------*/
|
||||||
|
#ifndef USE_GTK
|
||||||
|
# define USE_GTK 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*----------------------------------------
|
||||||
|
* Wayland drivers (monitor, mouse, keyboard, touchscreen)
|
||||||
|
*---------------------------------------*/
|
||||||
|
#ifndef USE_WAYLAND
|
||||||
|
# define USE_WAYLAND 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_WAYLAND
|
||||||
|
/* Support for client-side decorations */
|
||||||
|
# ifndef LV_WAYLAND_CLIENT_SIDE_DECORATIONS
|
||||||
|
# define LV_WAYLAND_CLIENT_SIDE_DECORATIONS 1
|
||||||
|
# endif
|
||||||
|
/* Support for (deprecated) wl-shell protocol */
|
||||||
|
# ifndef LV_WAYLAND_WL_SHELL
|
||||||
|
# define LV_WAYLAND_WL_SHELL 1
|
||||||
|
# endif
|
||||||
|
/* Support for xdg-shell protocol */
|
||||||
|
# ifndef LV_WAYLAND_XDG_SHELL
|
||||||
|
# define LV_WAYLAND_XDG_SHELL 0
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*----------------
|
||||||
|
* SSD1963
|
||||||
|
*--------------*/
|
||||||
|
#ifndef USE_SSD1963
|
||||||
|
# define USE_SSD1963 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_SSD1963
|
||||||
|
# define SSD1963_HOR_RES LV_HOR_RES
|
||||||
|
# define SSD1963_VER_RES LV_VER_RES
|
||||||
|
# define SSD1963_HT 531
|
||||||
|
# define SSD1963_HPS 43
|
||||||
|
# define SSD1963_LPS 8
|
||||||
|
# define SSD1963_HPW 10
|
||||||
|
# define SSD1963_VT 288
|
||||||
|
# define SSD1963_VPS 12
|
||||||
|
# define SSD1963_FPS 4
|
||||||
|
# define SSD1963_VPW 10
|
||||||
|
# define SSD1963_HS_NEG 0 /*Negative hsync*/
|
||||||
|
# define SSD1963_VS_NEG 0 /*Negative vsync*/
|
||||||
|
# define SSD1963_ORI 0 /*0, 90, 180, 270*/
|
||||||
|
# define SSD1963_COLOR_DEPTH 16
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*----------------
|
||||||
|
* R61581
|
||||||
|
*--------------*/
|
||||||
|
#ifndef USE_R61581
|
||||||
|
# define USE_R61581 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_R61581
|
||||||
|
# define R61581_HOR_RES LV_HOR_RES
|
||||||
|
# define R61581_VER_RES LV_VER_RES
|
||||||
|
# define R61581_HSPL 0 /*HSYNC signal polarity*/
|
||||||
|
# define R61581_HSL 10 /*HSYNC length (Not Implemented)*/
|
||||||
|
# define R61581_HFP 10 /*Horitontal Front poarch (Not Implemented)*/
|
||||||
|
# define R61581_HBP 10 /*Horitontal Back poarch (Not Implemented */
|
||||||
|
# define R61581_VSPL 0 /*VSYNC signal polarity*/
|
||||||
|
# define R61581_VSL 10 /*VSYNC length (Not Implemented)*/
|
||||||
|
# define R61581_VFP 8 /*Vertical Front poarch*/
|
||||||
|
# define R61581_VBP 8 /*Vertical Back poarch */
|
||||||
|
# define R61581_DPL 0 /*DCLK signal polarity*/
|
||||||
|
# define R61581_EPL 1 /*ENABLE signal polarity*/
|
||||||
|
# define R61581_ORI 0 /*0, 180*/
|
||||||
|
# define R61581_LV_COLOR_DEPTH 16 /*Fix 16 bit*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*------------------------------
|
||||||
|
* ST7565 (Monochrome, low res.)
|
||||||
|
*-----------------------------*/
|
||||||
|
#ifndef USE_ST7565
|
||||||
|
# define USE_ST7565 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_ST7565
|
||||||
|
/*No settings*/
|
||||||
|
#endif /*USE_ST7565*/
|
||||||
|
|
||||||
|
/*------------------------------
|
||||||
|
* GC9A01 (color, low res.)
|
||||||
|
*-----------------------------*/
|
||||||
|
#ifndef USE_GC9A01
|
||||||
|
# define USE_GC9A01 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_GC9A01
|
||||||
|
/*No settings*/
|
||||||
|
#endif /*USE_GC9A01*/
|
||||||
|
|
||||||
|
/*------------------------------------------
|
||||||
|
* UC1610 (4 gray 160*[104|128])
|
||||||
|
* (EA DOGXL160 160x104 tested)
|
||||||
|
*-----------------------------------------*/
|
||||||
|
#ifndef USE_UC1610
|
||||||
|
# define USE_UC1610 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_UC1610
|
||||||
|
# define UC1610_HOR_RES LV_HOR_RES
|
||||||
|
# define UC1610_VER_RES LV_VER_RES
|
||||||
|
# define UC1610_INIT_CONTRAST 33 /* init contrast, values in [%] */
|
||||||
|
# define UC1610_INIT_HARD_RST 0 /* 1 : hardware reset at init, 0 : software reset */
|
||||||
|
# define UC1610_TOP_VIEW 0 /* 0 : Bottom View, 1 : Top View */
|
||||||
|
#endif /*USE_UC1610*/
|
||||||
|
|
||||||
|
/*-------------------------------------------------
|
||||||
|
* SHARP memory in pixel monochrome display series
|
||||||
|
* LS012B7DD01 (184x38 pixels.)
|
||||||
|
* LS013B7DH03 (128x128 pixels.)
|
||||||
|
* LS013B7DH05 (144x168 pixels.)
|
||||||
|
* LS027B7DH01 (400x240 pixels.) (tested)
|
||||||
|
* LS032B7DD02 (336x536 pixels.)
|
||||||
|
* LS044Q7DH01 (320x240 pixels.)
|
||||||
|
*------------------------------------------------*/
|
||||||
|
#ifndef USE_SHARP_MIP
|
||||||
|
# define USE_SHARP_MIP 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_SHARP_MIP
|
||||||
|
# define SHARP_MIP_HOR_RES LV_HOR_RES
|
||||||
|
# define SHARP_MIP_VER_RES LV_VER_RES
|
||||||
|
# define SHARP_MIP_SOFT_COM_INVERSION 0
|
||||||
|
# define SHARP_MIP_REV_BYTE(b) /*((uint8_t) __REV(__RBIT(b)))*/ /*Architecture / compiler dependent byte bits order reverse*/
|
||||||
|
#endif /*USE_SHARP_MIP*/
|
||||||
|
|
||||||
|
/*-------------------------------------------------
|
||||||
|
* ILI9341 240X320 TFT LCD
|
||||||
|
*------------------------------------------------*/
|
||||||
|
#ifndef USE_ILI9341
|
||||||
|
# define USE_ILI9341 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_ILI9341
|
||||||
|
# define ILI9341_HOR_RES LV_HOR_RES
|
||||||
|
# define ILI9341_VER_RES LV_VER_RES
|
||||||
|
# define ILI9341_GAMMA 1
|
||||||
|
# define ILI9341_TEARING 0
|
||||||
|
#endif /*USE_ILI9341*/
|
||||||
|
|
||||||
|
/*-----------------------------------------
|
||||||
|
* Linux frame buffer device (/dev/fbx)
|
||||||
|
*-----------------------------------------*/
|
||||||
|
#ifndef USE_FBDEV
|
||||||
|
# define USE_FBDEV 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_FBDEV
|
||||||
|
# define FBDEV_PATH "/dev/fb0"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-----------------------------------------
|
||||||
|
* FreeBSD frame buffer device (/dev/fbx)
|
||||||
|
*.........................................*/
|
||||||
|
#ifndef USE_BSD_FBDEV
|
||||||
|
# define USE_BSD_FBDEV 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_BSD_FBDEV
|
||||||
|
# define FBDEV_PATH "/dev/fb0"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-----------------------------------------
|
||||||
|
* DRM/KMS device (/dev/dri/cardX)
|
||||||
|
*-----------------------------------------*/
|
||||||
|
#ifndef USE_DRM
|
||||||
|
# define USE_DRM 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_DRM
|
||||||
|
# define DRM_CARD "/dev/dri/card0"
|
||||||
|
# define DRM_CONNECTOR_ID -1 /* -1 for the first connected one */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*********************
|
||||||
|
* INPUT DEVICES
|
||||||
|
*********************/
|
||||||
|
|
||||||
|
/*--------------
|
||||||
|
* XPT2046
|
||||||
|
*--------------*/
|
||||||
|
#ifndef USE_XPT2046
|
||||||
|
# define USE_XPT2046 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_XPT2046
|
||||||
|
# define XPT2046_HOR_RES 480
|
||||||
|
# define XPT2046_VER_RES 320
|
||||||
|
# define XPT2046_X_MIN 200
|
||||||
|
# define XPT2046_Y_MIN 200
|
||||||
|
# define XPT2046_X_MAX 3800
|
||||||
|
# define XPT2046_Y_MAX 3800
|
||||||
|
# define XPT2046_AVG 4
|
||||||
|
# define XPT2046_X_INV 0
|
||||||
|
# define XPT2046_Y_INV 0
|
||||||
|
# define XPT2046_XY_SWAP 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-----------------
|
||||||
|
* FT5406EE8
|
||||||
|
*-----------------*/
|
||||||
|
#ifndef USE_FT5406EE8
|
||||||
|
# define USE_FT5406EE8 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_FT5406EE8
|
||||||
|
# define FT5406EE8_I2C_ADR 0x38 /*7 bit address*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*---------------
|
||||||
|
* AD TOUCH
|
||||||
|
*--------------*/
|
||||||
|
#ifndef USE_AD_TOUCH
|
||||||
|
# define USE_AD_TOUCH 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_AD_TOUCH
|
||||||
|
/*No settings*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*---------------------------------------
|
||||||
|
* Mouse or touchpad on PC (using SDL)
|
||||||
|
*-------------------------------------*/
|
||||||
|
/*DEPRECATED: Use the SDL driver instead. */
|
||||||
|
#ifndef USE_MOUSE
|
||||||
|
# define USE_MOUSE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_MOUSE
|
||||||
|
/*No settings*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-------------------------------------------
|
||||||
|
* Mousewheel as encoder on PC (using SDL)
|
||||||
|
*------------------------------------------*/
|
||||||
|
/*DEPRECATED: Use the SDL driver instead. */
|
||||||
|
#ifndef USE_MOUSEWHEEL
|
||||||
|
# define USE_MOUSEWHEEL 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_MOUSEWHEEL
|
||||||
|
/*No settings*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*-------------------------------------------------
|
||||||
|
* Touchscreen, mouse/touchpad or keyboard as libinput interface (for Linux based systems)
|
||||||
|
*------------------------------------------------*/
|
||||||
|
#ifndef USE_LIBINPUT
|
||||||
|
# define USE_LIBINPUT 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef USE_BSD_LIBINPUT
|
||||||
|
# define USE_BSD_LIBINPUT 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_LIBINPUT || USE_BSD_LIBINPUT
|
||||||
|
/*If only a single device of the same type is connected, you can also auto detect it, e.g.:
|
||||||
|
*#define LIBINPUT_NAME libinput_find_dev(LIBINPUT_CAPABILITY_TOUCH, false)*/
|
||||||
|
# define LIBINPUT_NAME "/dev/input/event0" /*You can use the "evtest" Linux tool to get the list of devices and test them*/
|
||||||
|
|
||||||
|
#endif /*USE_LIBINPUT || USE_BSD_LIBINPUT*/
|
||||||
|
|
||||||
|
/*-------------------------------------------------
|
||||||
|
* Mouse or touchpad as evdev interface (for Linux based systems)
|
||||||
|
*------------------------------------------------*/
|
||||||
|
#ifndef USE_EVDEV
|
||||||
|
# define USE_EVDEV 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef USE_BSD_EVDEV
|
||||||
|
# define USE_BSD_EVDEV 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_EVDEV || USE_BSD_EVDEV
|
||||||
|
# define EVDEV_NAME "/dev/input/event0" /*You can use the "evtest" Linux tool to get the list of devices and test them*/
|
||||||
|
# define EVDEV_SWAP_AXES 0 /*Swap the x and y axes of the touchscreen*/
|
||||||
|
|
||||||
|
# define EVDEV_CALIBRATE 0 /*Scale and offset the touchscreen coordinates by using maximum and minimum values for each axis*/
|
||||||
|
|
||||||
|
# if EVDEV_CALIBRATE
|
||||||
|
# define EVDEV_HOR_MIN 0 /*to invert axis swap EVDEV_XXX_MIN by EVDEV_XXX_MAX*/
|
||||||
|
# define EVDEV_HOR_MAX 4096 /*"evtest" Linux tool can help to get the correct calibraion values>*/
|
||||||
|
# define EVDEV_VER_MIN 0
|
||||||
|
# define EVDEV_VER_MAX 4096
|
||||||
|
# endif /*EVDEV_CALIBRATE*/
|
||||||
|
#endif /*USE_EVDEV*/
|
||||||
|
|
||||||
|
/*-------------------------------------------------
|
||||||
|
* Full keyboard support for evdev and libinput interface
|
||||||
|
*------------------------------------------------*/
|
||||||
|
# ifndef USE_XKB
|
||||||
|
# define USE_XKB 0
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#if USE_LIBINPUT || USE_BSD_LIBINPUT || USE_EVDEV || USE_BSD_EVDEV
|
||||||
|
# if USE_XKB
|
||||||
|
# define XKB_KEY_MAP { .rules = NULL, \
|
||||||
|
.model = "pc101", \
|
||||||
|
.layout = "us", \
|
||||||
|
.variant = NULL, \
|
||||||
|
.options = NULL } /*"setxkbmap -query" can help find the right values for your keyboard*/
|
||||||
|
# endif /*USE_XKB*/
|
||||||
|
#endif /*USE_LIBINPUT || USE_BSD_LIBINPUT || USE_EVDEV || USE_BSD_EVDEV*/
|
||||||
|
|
||||||
|
/*-------------------------------
|
||||||
|
* Keyboard of a PC (using SDL)
|
||||||
|
*------------------------------*/
|
||||||
|
/*DEPRECATED: Use the SDL driver instead. */
|
||||||
|
#ifndef USE_KEYBOARD
|
||||||
|
# define USE_KEYBOARD 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if USE_KEYBOARD
|
||||||
|
/*No settings*/
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /*LV_DRV_CONF_H*/
|
||||||
|
|
||||||
|
#endif /*End of "Content enable"*/
|
16
LVGL Simulator/LVGL.Simulator/resource.h
Normal file
16
LVGL Simulator/LVGL.Simulator/resource.h
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
//{{NO_DEPENDENCIES}}
|
||||||
|
// Microsoft Visual C++ 生成的包含文件。
|
||||||
|
// 供 LVGL.Simulator.rc 使用
|
||||||
|
//
|
||||||
|
#define IDI_LVGL 101
|
||||||
|
|
||||||
|
// Next default values for new objects
|
||||||
|
//
|
||||||
|
#ifdef APSTUDIO_INVOKED
|
||||||
|
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||||
|
#define _APS_NEXT_RESOURCE_VALUE 102
|
||||||
|
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||||
|
#define _APS_NEXT_CONTROL_VALUE 1001
|
||||||
|
#define _APS_NEXT_SYMED_VALUE 101
|
||||||
|
#endif
|
||||||
|
#endif
|
40
LVGL Simulator/LvglMaintainerTools/.editorconfig
Normal file
40
LVGL Simulator/LvglMaintainerTools/.editorconfig
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
##
|
||||||
|
## PROJECT: Mouri Internal Library Essentials
|
||||||
|
## FILE: .editorconfig
|
||||||
|
## PURPOSE: The root .editorconfig file for .NET Project
|
||||||
|
##
|
||||||
|
## LICENSE: The MIT License
|
||||||
|
##
|
||||||
|
## DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
##
|
||||||
|
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
charset = utf-8-bom
|
||||||
|
end_of_line = crlf
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
indent_size = 2
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.{cs,csx,vb,vbx}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 4
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.{js,json,xml,toml,xaml}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
insert_final_newline = true
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
|
||||||
|
[*.bat]
|
||||||
|
charset = utf-8
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.sh]
|
||||||
|
charset = utf-8
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
414
LVGL Simulator/LvglMaintainerTools/.gitignore
vendored
Normal file
414
LVGL Simulator/LvglMaintainerTools/.gitignore
vendored
Normal file
|
@ -0,0 +1,414 @@
|
||||||
|
##
|
||||||
|
## PROJECT: Mouri Internal Library Essentials
|
||||||
|
## FILE: .gitignore
|
||||||
|
## PURPOSE: The root .gitignore file for Visual Studio C++ Project
|
||||||
|
##
|
||||||
|
## LICENSE: The MIT License
|
||||||
|
##
|
||||||
|
## DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
##
|
||||||
|
|
||||||
|
##
|
||||||
|
## Ignore Mile.Project specific temporary files, build results,
|
||||||
|
## and files generated by popular Visual Studio add-ons.
|
||||||
|
##
|
||||||
|
Output/
|
||||||
|
|
||||||
|
##
|
||||||
|
## Ignore Visual Studio temporary files, build results, and
|
||||||
|
## files generated by popular Visual Studio add-ons.
|
||||||
|
##
|
||||||
|
|
||||||
|
# User-specific files
|
||||||
|
*.rsuser
|
||||||
|
*.suo
|
||||||
|
*.user
|
||||||
|
*.userosscache
|
||||||
|
*.sln.docstates
|
||||||
|
|
||||||
|
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||||
|
*.userprefs
|
||||||
|
|
||||||
|
# Mono auto generated files
|
||||||
|
mono_crash.*
|
||||||
|
|
||||||
|
# Build results
|
||||||
|
[Dd]ebug/
|
||||||
|
[Dd]ebugPublic/
|
||||||
|
[Rr]elease/
|
||||||
|
[Rr]eleases/
|
||||||
|
x64/
|
||||||
|
x86/
|
||||||
|
[Ww][Ii][Nn]32/
|
||||||
|
[Aa][Rr][Mm]/
|
||||||
|
[Aa][Rr][Mm]64/
|
||||||
|
bld/
|
||||||
|
[Bb]in/
|
||||||
|
[Oo]bj/
|
||||||
|
[Ll]og/
|
||||||
|
[Ll]ogs/
|
||||||
|
|
||||||
|
# Visual Studio 2015/2017 cache/options directory
|
||||||
|
.vs/
|
||||||
|
# Uncomment if you have tasks that create the project's static files in wwwroot
|
||||||
|
#wwwroot/
|
||||||
|
|
||||||
|
# Visual Studio 2017 auto generated files
|
||||||
|
Generated\ Files/
|
||||||
|
|
||||||
|
# MSTest test Results
|
||||||
|
[Tt]est[Rr]esult*/
|
||||||
|
[Bb]uild[Ll]og.*
|
||||||
|
|
||||||
|
# NUnit
|
||||||
|
*.VisualState.xml
|
||||||
|
TestResult.xml
|
||||||
|
nunit-*.xml
|
||||||
|
|
||||||
|
# Build Results of an ATL Project
|
||||||
|
[Dd]ebugPS/
|
||||||
|
[Rr]eleasePS/
|
||||||
|
dlldata.c
|
||||||
|
|
||||||
|
# Benchmark Results
|
||||||
|
BenchmarkDotNet.Artifacts/
|
||||||
|
|
||||||
|
# .NET Core
|
||||||
|
project.lock.json
|
||||||
|
project.fragment.lock.json
|
||||||
|
artifacts/
|
||||||
|
|
||||||
|
# ASP.NET Scaffolding
|
||||||
|
ScaffoldingReadMe.txt
|
||||||
|
|
||||||
|
# StyleCop
|
||||||
|
StyleCopReport.xml
|
||||||
|
|
||||||
|
# Files built by Visual Studio
|
||||||
|
*_i.c
|
||||||
|
*_p.c
|
||||||
|
*_h.h
|
||||||
|
*.ilk
|
||||||
|
*.meta
|
||||||
|
*.obj
|
||||||
|
*.iobj
|
||||||
|
*.pch
|
||||||
|
*.pdb
|
||||||
|
*.ipdb
|
||||||
|
*.pgc
|
||||||
|
*.pgd
|
||||||
|
*.rsp
|
||||||
|
*.sbr
|
||||||
|
*.tlb
|
||||||
|
*.tli
|
||||||
|
*.tlh
|
||||||
|
*.tmp
|
||||||
|
*.tmp_proj
|
||||||
|
*_wpftmp.csproj
|
||||||
|
*.log
|
||||||
|
*.tlog
|
||||||
|
*.vspscc
|
||||||
|
*.vssscc
|
||||||
|
.builds
|
||||||
|
*.pidb
|
||||||
|
*.svclog
|
||||||
|
*.scc
|
||||||
|
|
||||||
|
# Chutzpah Test files
|
||||||
|
_Chutzpah*
|
||||||
|
|
||||||
|
# Visual C++ cache files
|
||||||
|
ipch/
|
||||||
|
*.aps
|
||||||
|
*.ncb
|
||||||
|
*.opendb
|
||||||
|
*.opensdf
|
||||||
|
*.sdf
|
||||||
|
*.cachefile
|
||||||
|
*.VC.db
|
||||||
|
*.VC.VC.opendb
|
||||||
|
|
||||||
|
# Visual Studio profiler
|
||||||
|
*.psess
|
||||||
|
*.vsp
|
||||||
|
*.vspx
|
||||||
|
*.sap
|
||||||
|
|
||||||
|
# Visual Studio Trace Files
|
||||||
|
*.e2e
|
||||||
|
|
||||||
|
# TFS 2012 Local Workspace
|
||||||
|
$tf/
|
||||||
|
|
||||||
|
# Guidance Automation Toolkit
|
||||||
|
*.gpState
|
||||||
|
|
||||||
|
# ReSharper is a .NET coding add-in
|
||||||
|
_ReSharper*/
|
||||||
|
*.[Rr]e[Ss]harper
|
||||||
|
*.DotSettings.user
|
||||||
|
|
||||||
|
# TeamCity is a build add-in
|
||||||
|
_TeamCity*
|
||||||
|
|
||||||
|
# DotCover is a Code Coverage Tool
|
||||||
|
*.dotCover
|
||||||
|
|
||||||
|
# AxoCover is a Code Coverage Tool
|
||||||
|
.axoCover/*
|
||||||
|
!.axoCover/settings.json
|
||||||
|
|
||||||
|
# Coverlet is a free, cross platform Code Coverage Tool
|
||||||
|
coverage*.json
|
||||||
|
coverage*.xml
|
||||||
|
coverage*.info
|
||||||
|
|
||||||
|
# Visual Studio code coverage results
|
||||||
|
*.coverage
|
||||||
|
*.coveragexml
|
||||||
|
|
||||||
|
# NCrunch
|
||||||
|
_NCrunch_*
|
||||||
|
.*crunch*.local.xml
|
||||||
|
nCrunchTemp_*
|
||||||
|
|
||||||
|
# MightyMoose
|
||||||
|
*.mm.*
|
||||||
|
AutoTest.Net/
|
||||||
|
|
||||||
|
# Web workbench (sass)
|
||||||
|
.sass-cache/
|
||||||
|
|
||||||
|
# Installshield output folder
|
||||||
|
[Ee]xpress/
|
||||||
|
|
||||||
|
# DocProject is a documentation generator add-in
|
||||||
|
DocProject/buildhelp/
|
||||||
|
DocProject/Help/*.HxT
|
||||||
|
DocProject/Help/*.HxC
|
||||||
|
DocProject/Help/*.hhc
|
||||||
|
DocProject/Help/*.hhk
|
||||||
|
DocProject/Help/*.hhp
|
||||||
|
DocProject/Help/Html2
|
||||||
|
DocProject/Help/html
|
||||||
|
|
||||||
|
# Click-Once directory
|
||||||
|
publish/
|
||||||
|
|
||||||
|
# Publish Web Output
|
||||||
|
*.[Pp]ublish.xml
|
||||||
|
*.azurePubxml
|
||||||
|
# Note: Comment the next line if you want to checkin your web deploy settings,
|
||||||
|
# but database connection strings (with potential passwords) will be unencrypted
|
||||||
|
*.pubxml
|
||||||
|
*.publishproj
|
||||||
|
|
||||||
|
# Microsoft Azure Web App publish settings. Comment the next line if you want to
|
||||||
|
# checkin your Azure Web App publish settings, but sensitive information contained
|
||||||
|
# in these scripts will be unencrypted
|
||||||
|
PublishScripts/
|
||||||
|
|
||||||
|
# NuGet Packages
|
||||||
|
*.nupkg
|
||||||
|
# NuGet Symbol Packages
|
||||||
|
*.snupkg
|
||||||
|
# The packages folder can be ignored because of Package Restore
|
||||||
|
**/[Pp]ackages/*
|
||||||
|
# except build/, which is used as an MSBuild target.
|
||||||
|
!**/[Pp]ackages/build/
|
||||||
|
# Uncomment if necessary however generally it will be regenerated when needed
|
||||||
|
#!**/[Pp]ackages/repositories.config
|
||||||
|
# NuGet v3's project.json files produces more ignorable files
|
||||||
|
*.nuget.props
|
||||||
|
*.nuget.targets
|
||||||
|
|
||||||
|
# Microsoft Azure Build Output
|
||||||
|
csx/
|
||||||
|
*.build.csdef
|
||||||
|
|
||||||
|
# Microsoft Azure Emulator
|
||||||
|
ecf/
|
||||||
|
rcf/
|
||||||
|
|
||||||
|
# Windows Store app package directories and files
|
||||||
|
AppPackages/
|
||||||
|
BundleArtifacts/
|
||||||
|
Package.StoreAssociation.xml
|
||||||
|
_pkginfo.txt
|
||||||
|
*.appx
|
||||||
|
*.appxbundle
|
||||||
|
*.appxupload
|
||||||
|
|
||||||
|
# Visual Studio cache files
|
||||||
|
# files ending in .cache can be ignored
|
||||||
|
*.[Cc]ache
|
||||||
|
# but keep track of directories ending in .cache
|
||||||
|
!?*.[Cc]ache/
|
||||||
|
|
||||||
|
# Others
|
||||||
|
ClientBin/
|
||||||
|
~$*
|
||||||
|
*~
|
||||||
|
*.dbmdl
|
||||||
|
*.dbproj.schemaview
|
||||||
|
*.jfm
|
||||||
|
*.pfx
|
||||||
|
*.publishsettings
|
||||||
|
orleans.codegen.cs
|
||||||
|
|
||||||
|
# Including strong name files can present a security risk
|
||||||
|
# (https://github.com/github/gitignore/pull/2483#issue-259490424)
|
||||||
|
#*.snk
|
||||||
|
|
||||||
|
# Since there are multiple workflows, uncomment next line to ignore bower_components
|
||||||
|
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
|
||||||
|
#bower_components/
|
||||||
|
|
||||||
|
# RIA/Silverlight projects
|
||||||
|
Generated_Code/
|
||||||
|
|
||||||
|
# Backup & report files from converting an old project file
|
||||||
|
# to a newer Visual Studio version. Backup files are not needed,
|
||||||
|
# because we have git ;-)
|
||||||
|
_UpgradeReport_Files/
|
||||||
|
Backup*/
|
||||||
|
UpgradeLog*.XML
|
||||||
|
UpgradeLog*.htm
|
||||||
|
ServiceFabricBackup/
|
||||||
|
*.rptproj.bak
|
||||||
|
|
||||||
|
# SQL Server files
|
||||||
|
*.mdf
|
||||||
|
*.ldf
|
||||||
|
*.ndf
|
||||||
|
|
||||||
|
# Business Intelligence projects
|
||||||
|
*.rdl.data
|
||||||
|
*.bim.layout
|
||||||
|
*.bim_*.settings
|
||||||
|
*.rptproj.rsuser
|
||||||
|
*- [Bb]ackup.rdl
|
||||||
|
*- [Bb]ackup ([0-9]).rdl
|
||||||
|
*- [Bb]ackup ([0-9][0-9]).rdl
|
||||||
|
|
||||||
|
# Microsoft Fakes
|
||||||
|
FakesAssemblies/
|
||||||
|
|
||||||
|
# GhostDoc plugin setting file
|
||||||
|
*.GhostDoc.xml
|
||||||
|
|
||||||
|
# Node.js Tools for Visual Studio
|
||||||
|
.ntvs_analysis.dat
|
||||||
|
node_modules/
|
||||||
|
|
||||||
|
# Visual Studio 6 build log
|
||||||
|
*.plg
|
||||||
|
|
||||||
|
# Visual Studio 6 workspace options file
|
||||||
|
*.opt
|
||||||
|
|
||||||
|
# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
|
||||||
|
*.vbw
|
||||||
|
|
||||||
|
# Visual Studio 6 auto-generated project file (contains which files were open etc.)
|
||||||
|
*.vbp
|
||||||
|
|
||||||
|
# Visual Studio 6 workspace and project file (working project files containing files to include in project)
|
||||||
|
*.dsw
|
||||||
|
*.dsp
|
||||||
|
|
||||||
|
# Visual Studio 6 technical files
|
||||||
|
*.ncb
|
||||||
|
*.aps
|
||||||
|
|
||||||
|
# Visual Studio LightSwitch build output
|
||||||
|
**/*.HTMLClient/GeneratedArtifacts
|
||||||
|
**/*.DesktopClient/GeneratedArtifacts
|
||||||
|
**/*.DesktopClient/ModelManifest.xml
|
||||||
|
**/*.Server/GeneratedArtifacts
|
||||||
|
**/*.Server/ModelManifest.xml
|
||||||
|
_Pvt_Extensions
|
||||||
|
|
||||||
|
# Paket dependency manager
|
||||||
|
.paket/paket.exe
|
||||||
|
paket-files/
|
||||||
|
|
||||||
|
# FAKE - F# Make
|
||||||
|
.fake/
|
||||||
|
|
||||||
|
# CodeRush personal settings
|
||||||
|
.cr/personal
|
||||||
|
|
||||||
|
# Python Tools for Visual Studio (PTVS)
|
||||||
|
__pycache__/
|
||||||
|
*.pyc
|
||||||
|
|
||||||
|
# Cake - Uncomment if you are using it
|
||||||
|
# tools/**
|
||||||
|
# !tools/packages.config
|
||||||
|
|
||||||
|
# Tabs Studio
|
||||||
|
*.tss
|
||||||
|
|
||||||
|
# Telerik's JustMock configuration file
|
||||||
|
*.jmconfig
|
||||||
|
|
||||||
|
# BizTalk build output
|
||||||
|
*.btp.cs
|
||||||
|
*.btm.cs
|
||||||
|
*.odx.cs
|
||||||
|
*.xsd.cs
|
||||||
|
|
||||||
|
# OpenCover UI analysis results
|
||||||
|
OpenCover/
|
||||||
|
|
||||||
|
# Azure Stream Analytics local run output
|
||||||
|
ASALocalRun/
|
||||||
|
|
||||||
|
# MSBuild Binary and Structured Log
|
||||||
|
*.binlog
|
||||||
|
|
||||||
|
# NVidia Nsight GPU debugger configuration file
|
||||||
|
*.nvuser
|
||||||
|
|
||||||
|
# MFractors (Xamarin productivity tool) working folder
|
||||||
|
.mfractor/
|
||||||
|
|
||||||
|
# Local History for Visual Studio
|
||||||
|
.localhistory/
|
||||||
|
|
||||||
|
# Visual Studio History (VSHistory) files
|
||||||
|
.vshistory/
|
||||||
|
|
||||||
|
# BeatPulse healthcheck temp database
|
||||||
|
healthchecksdb
|
||||||
|
|
||||||
|
# Backup folder for Package Reference Convert tool in Visual Studio 2017
|
||||||
|
MigrationBackup/
|
||||||
|
|
||||||
|
# Ionide (cross platform F# VS Code tools) working folder
|
||||||
|
.ionide/
|
||||||
|
|
||||||
|
# Fody - auto-generated XML schema
|
||||||
|
FodyWeavers.xsd
|
||||||
|
|
||||||
|
# VS Code files for those working on multiple tools
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
*.code-workspace
|
||||||
|
|
||||||
|
# Local History for Visual Studio Code
|
||||||
|
.history/
|
||||||
|
|
||||||
|
# Windows Installer files from build outputs
|
||||||
|
*.cab
|
||||||
|
*.msi
|
||||||
|
*.msix
|
||||||
|
*.msm
|
||||||
|
*.msp
|
||||||
|
|
||||||
|
# JetBrains Rider
|
||||||
|
*.sln.iml
|
34
LVGL Simulator/LvglMaintainerTools/BuildAllTargets.cmd
Normal file
34
LVGL Simulator/LvglMaintainerTools/BuildAllTargets.cmd
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
@rem
|
||||||
|
@rem PROJECT: Mouri Internal Library Essentials
|
||||||
|
@rem FILE: BuildAllTargets.cmd
|
||||||
|
@rem PURPOSE: Build all targets script for Visual Studio .NET Project
|
||||||
|
@rem
|
||||||
|
@rem LICENSE: The MIT License
|
||||||
|
@rem
|
||||||
|
@rem DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
@rem
|
||||||
|
|
||||||
|
@setlocal
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
rem Change to the current folder.
|
||||||
|
cd "%~dp0"
|
||||||
|
|
||||||
|
rem Remove the output folder for a fresh compile.
|
||||||
|
rd /s /q Output
|
||||||
|
|
||||||
|
set VisualStudioInstallerFolder="%ProgramFiles(x86)%\Microsoft Visual Studio\Installer"
|
||||||
|
if %PROCESSOR_ARCHITECTURE%==x86 set VisualStudioInstallerFolder="%ProgramFiles%\Microsoft Visual Studio\Installer"
|
||||||
|
|
||||||
|
pushd %VisualStudioInstallerFolder%
|
||||||
|
for /f "usebackq tokens=*" %%i in (`vswhere -latest -products * -requires Microsoft.NetCore.Component.SDK -property installationPath`) do (
|
||||||
|
set VisualStudioInstallDir=%%i
|
||||||
|
)
|
||||||
|
popd
|
||||||
|
|
||||||
|
call "%VisualStudioInstallDir%\VC\Auxiliary\Build\vcvarsall.bat" x86
|
||||||
|
|
||||||
|
rem Build all targets
|
||||||
|
MSBuild -m BuildAllTargets.proj
|
||||||
|
|
||||||
|
@endlocal
|
48
LVGL Simulator/LvglMaintainerTools/BuildAllTargets.proj
Normal file
48
LVGL Simulator/LvglMaintainerTools/BuildAllTargets.proj
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
PROJECT: Mouri Internal Library Essentials
|
||||||
|
FILE: BuildAllTargets.proj
|
||||||
|
PURPOSE: Build all targets script for Visual Studio .NET Project
|
||||||
|
|
||||||
|
LICENSE: The MIT License
|
||||||
|
|
||||||
|
DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
-->
|
||||||
|
<Project
|
||||||
|
DefaultTargets="Restore;Build"
|
||||||
|
xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<SolutionPath>$(MSBuildThisFileDirectory)*.sln</SolutionPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="$(SolutionPath)">
|
||||||
|
<AdditionalProperties>Configuration=Debug;Platform=Any CPU</AdditionalProperties>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="$(SolutionPath)">
|
||||||
|
<AdditionalProperties>Configuration=Release;Platform=Any CPU</AdditionalProperties>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Target Name="Restore" >
|
||||||
|
<MSBuild
|
||||||
|
Projects="@(ProjectReference)"
|
||||||
|
Targets="Restore"
|
||||||
|
StopOnFirstFailure="True"
|
||||||
|
Properties="PreferredToolArchitecture=x64" />
|
||||||
|
</Target>
|
||||||
|
<Target Name="Build" >
|
||||||
|
<MSBuild
|
||||||
|
Projects="@(ProjectReference)"
|
||||||
|
Targets="Build"
|
||||||
|
BuildInParallel="True"
|
||||||
|
StopOnFirstFailure="True"
|
||||||
|
Properties="PreferredToolArchitecture=x64" />
|
||||||
|
</Target>
|
||||||
|
<Target Name="Rebuild" >
|
||||||
|
<MSBuild
|
||||||
|
Projects="@(ProjectReference)"
|
||||||
|
Targets="Rebuild"
|
||||||
|
BuildInParallel="True"
|
||||||
|
StopOnFirstFailure="True"
|
||||||
|
Properties="PreferredToolArchitecture=x64" />
|
||||||
|
</Target>
|
||||||
|
</Project>
|
16
LVGL Simulator/LvglMaintainerTools/Directory.Build.props
Normal file
16
LVGL Simulator/LvglMaintainerTools/Directory.Build.props
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!--
|
||||||
|
PROJECT: Mouri Internal Library Essentials
|
||||||
|
FILE: Directory.Build.props
|
||||||
|
PURPOSE: Global settings for Visual Studio .NET Project
|
||||||
|
|
||||||
|
LICENSE: The MIT License
|
||||||
|
|
||||||
|
DEVELOPER: Mouri_Naruto (Mouri_Naruto AT Outlook.com)
|
||||||
|
-->
|
||||||
|
<Project>
|
||||||
|
<PropertyGroup>
|
||||||
|
<BaseOutputPath>$(MSBuildThisFileDirectory)Output\Binaries\$(MSBuildProjectName)\</BaseOutputPath>
|
||||||
|
<BaseIntermediateOutputPath>$(MSBuildThisFileDirectory)Output\Objects\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
25
LVGL Simulator/LvglMaintainerTools/LvglMaintainerTools.sln
Normal file
25
LVGL Simulator/LvglMaintainerTools/LvglMaintainerTools.sln
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.4.33213.308
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LvglSubmoduleProjectFileGenerator", "LvglSubmoduleProjectFileGenerator\LvglSubmoduleProjectFileGenerator.csproj", "{1BCB0765-593C-4BBF-B945-10858316AF62}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{1BCB0765-593C-4BBF-B945-10858316AF62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{1BCB0765-593C-4BBF-B945-10858316AF62}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{1BCB0765-593C-4BBF-B945-10858316AF62}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{1BCB0765-593C-4BBF-B945-10858316AF62}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {5403C626-7F51-4D74-8432-9665DEB5C76B}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
|
@ -0,0 +1,10 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
</Project>
|
|
@ -0,0 +1,202 @@
|
||||||
|
using System.Text;
|
||||||
|
using System.Xml;
|
||||||
|
|
||||||
|
namespace LvglSubmoduleProjectFileGenerator
|
||||||
|
{
|
||||||
|
|
||||||
|
internal class Program
|
||||||
|
{
|
||||||
|
private static List<string> FilterNames =
|
||||||
|
new List<string>();
|
||||||
|
private static List<(string Target, string Filter)> HeaderNames =
|
||||||
|
new List<(string Target, string Filter)>();
|
||||||
|
private static List<(string Target, string Filter)> SourceNames =
|
||||||
|
new List<(string Target, string Filter)>();
|
||||||
|
private static List<(string Target, string Filter)> OtherNames =
|
||||||
|
new List<(string Target, string Filter)>();
|
||||||
|
|
||||||
|
private static string[] HeaderFileTypes = new string[]
|
||||||
|
{
|
||||||
|
".h",
|
||||||
|
".hh",
|
||||||
|
".hpp",
|
||||||
|
".hxx",
|
||||||
|
".h++",
|
||||||
|
".hm",
|
||||||
|
".inl",
|
||||||
|
".inc",
|
||||||
|
".ipp"
|
||||||
|
};
|
||||||
|
|
||||||
|
private static string[] SourceFileTypes = new string[]
|
||||||
|
{
|
||||||
|
".cpp",
|
||||||
|
".c",
|
||||||
|
".cc",
|
||||||
|
".cxx",
|
||||||
|
".c++",
|
||||||
|
".cppm",
|
||||||
|
".ixx"
|
||||||
|
};
|
||||||
|
|
||||||
|
private static string[] ForceInOthersList = new string[]
|
||||||
|
{
|
||||||
|
@".github",
|
||||||
|
@"docs",
|
||||||
|
@"tests",
|
||||||
|
@"lvgl\env_support",
|
||||||
|
@"lvgl\scripts",
|
||||||
|
@"freetype\"
|
||||||
|
};
|
||||||
|
|
||||||
|
private static void EnumerateFolder(
|
||||||
|
string Path,
|
||||||
|
bool ForceInOthers = false)
|
||||||
|
{
|
||||||
|
DirectoryInfo Folder = new DirectoryInfo(Path);
|
||||||
|
|
||||||
|
FilterNames.Add(Folder.FullName);
|
||||||
|
|
||||||
|
foreach (var Item in Folder.GetDirectories())
|
||||||
|
{
|
||||||
|
bool CurrentForceInOthers = false;
|
||||||
|
foreach (var ListItem in ForceInOthersList)
|
||||||
|
{
|
||||||
|
if (Item.FullName.Contains(ListItem))
|
||||||
|
{
|
||||||
|
CurrentForceInOthers = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EnumerateFolder(
|
||||||
|
Item.FullName,
|
||||||
|
ForceInOthers || CurrentForceInOthers);
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var Item in Folder.GetFiles())
|
||||||
|
{
|
||||||
|
(string Target, string Filter) Current =
|
||||||
|
(Item.FullName, Item.Directory.FullName);
|
||||||
|
|
||||||
|
if (ForceInOthers)
|
||||||
|
{
|
||||||
|
OtherNames.Add(Current);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (HeaderFileTypes.Contains(Item.Extension))
|
||||||
|
{
|
||||||
|
HeaderNames.Add(Current);
|
||||||
|
}
|
||||||
|
else if (SourceFileTypes.Contains(Item.Extension))
|
||||||
|
{
|
||||||
|
SourceNames.Add(Current);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
OtherNames.Add(Current);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void Main(string[] args)
|
||||||
|
{
|
||||||
|
string Root = GitRepositoryUtilities.GetRepositoryRoot();
|
||||||
|
|
||||||
|
Console.WriteLine(Root);
|
||||||
|
|
||||||
|
string RootPath = Path.GetFullPath(Root + @"\LvglPlatform\");
|
||||||
|
|
||||||
|
EnumerateFolder(RootPath + @"freetype");
|
||||||
|
EnumerateFolder(RootPath + @"lvgl");
|
||||||
|
EnumerateFolder(RootPath + @"lv_drivers");
|
||||||
|
OtherNames.Add((
|
||||||
|
"$(MSBuildThisFileDirectory)LvglPlatform.props",
|
||||||
|
string.Empty));
|
||||||
|
|
||||||
|
List<(string, string)> NewHeaderNames = new List<(string, string)>();
|
||||||
|
List<(string, string)> NewSourceNames = new List<(string, string)>();
|
||||||
|
List<(string, string)> NewOtherNames = new List<(string, string)>();
|
||||||
|
|
||||||
|
foreach (var HeaderName in HeaderNames)
|
||||||
|
{
|
||||||
|
NewHeaderNames.Add((
|
||||||
|
HeaderName.Item1.Replace(
|
||||||
|
RootPath,
|
||||||
|
"$(MSBuildThisFileDirectory)"),
|
||||||
|
HeaderName.Item2));
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var SourceName in SourceNames)
|
||||||
|
{
|
||||||
|
NewSourceNames.Add((
|
||||||
|
SourceName.Item1.Replace(
|
||||||
|
RootPath,
|
||||||
|
"$(MSBuildThisFileDirectory)"),
|
||||||
|
SourceName.Item2));
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (var OtherName in OtherNames)
|
||||||
|
{
|
||||||
|
NewOtherNames.Add((
|
||||||
|
OtherName.Item1.Replace(
|
||||||
|
RootPath,
|
||||||
|
"$(MSBuildThisFileDirectory)"),
|
||||||
|
OtherName.Item2));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
XmlWriterSettings WriterSettings = new XmlWriterSettings();
|
||||||
|
WriterSettings.Indent = true;
|
||||||
|
WriterSettings.IndentChars = " ";
|
||||||
|
WriterSettings.NewLineChars = "\r\n";
|
||||||
|
WriterSettings.NewLineHandling = NewLineHandling.Replace;
|
||||||
|
WriterSettings.Encoding = new UTF8Encoding(true);
|
||||||
|
|
||||||
|
{
|
||||||
|
XmlDocument Document =
|
||||||
|
VisualStudioProjectUtilities.CreateCppSharedProject(
|
||||||
|
Guid.NewGuid(),
|
||||||
|
NewHeaderNames,
|
||||||
|
NewSourceNames,
|
||||||
|
NewOtherNames);
|
||||||
|
Document.InnerXml = Document.InnerXml.Replace(
|
||||||
|
RootPath,
|
||||||
|
"");
|
||||||
|
XmlWriter Writer = XmlWriter.Create(
|
||||||
|
string.Format(
|
||||||
|
@"{0}\LvglPlatform.vcxitems",
|
||||||
|
RootPath),
|
||||||
|
WriterSettings);
|
||||||
|
Document.Save(Writer);
|
||||||
|
Writer.Flush();
|
||||||
|
Writer.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
XmlDocument Document =
|
||||||
|
VisualStudioProjectUtilities.CreateCppSharedFilters(
|
||||||
|
FilterNames,
|
||||||
|
NewHeaderNames,
|
||||||
|
NewSourceNames,
|
||||||
|
NewOtherNames);
|
||||||
|
Document.InnerXml = Document.InnerXml.Replace(
|
||||||
|
RootPath,
|
||||||
|
"");
|
||||||
|
XmlWriter Writer = XmlWriter.Create(
|
||||||
|
string.Format(
|
||||||
|
@"{0}\LvglPlatform.vcxitems.filters",
|
||||||
|
RootPath),
|
||||||
|
WriterSettings);
|
||||||
|
Document.Save(Writer);
|
||||||
|
Writer.Flush();
|
||||||
|
Writer.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
Console.WriteLine("Hello, World!");
|
||||||
|
|
||||||
|
Console.ReadKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,37 @@
|
||||||
|
using System.Diagnostics;
|
||||||
|
|
||||||
|
namespace LvglSubmoduleProjectFileGenerator
|
||||||
|
{
|
||||||
|
public class GitRepositoryUtilities
|
||||||
|
{
|
||||||
|
public static string GetRepositoryRoot()
|
||||||
|
{
|
||||||
|
Process process = new Process
|
||||||
|
{
|
||||||
|
StartInfo = new ProcessStartInfo
|
||||||
|
{
|
||||||
|
CreateNoWindow = true,
|
||||||
|
UseShellExecute = false,
|
||||||
|
RedirectStandardOutput = true,
|
||||||
|
FileName = "git.exe",
|
||||||
|
Arguments = "rev-parse --show-toplevel"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (process.Start())
|
||||||
|
{
|
||||||
|
process.WaitForExit();
|
||||||
|
if (process.ExitCode == 0)
|
||||||
|
{
|
||||||
|
string? result = process.StandardOutput.ReadLine();
|
||||||
|
if (result != null)
|
||||||
|
{
|
||||||
|
return Path.GetFullPath(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return string.Empty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,206 @@
|
||||||
|
using System.Xml;
|
||||||
|
|
||||||
|
namespace LvglSubmoduleProjectFileGenerator
|
||||||
|
{
|
||||||
|
public class VisualStudioProjectUtilities
|
||||||
|
{
|
||||||
|
private static readonly string DefaultNamespaceString =
|
||||||
|
@"http://schemas.microsoft.com/developer/msbuild/2003";
|
||||||
|
|
||||||
|
private static XmlElement AppendTagToElement(
|
||||||
|
XmlElement Element,
|
||||||
|
string Name)
|
||||||
|
{
|
||||||
|
XmlElement Tag = Element.OwnerDocument.CreateElement(
|
||||||
|
Name,
|
||||||
|
DefaultNamespaceString);
|
||||||
|
Element.AppendChild(Tag);
|
||||||
|
return Tag;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static XmlElement AppendPropertyGroupToProject(
|
||||||
|
XmlElement Project)
|
||||||
|
{
|
||||||
|
return AppendTagToElement(Project, "PropertyGroup");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static XmlElement AppendPropertyGroupToProject(
|
||||||
|
XmlElement Project,
|
||||||
|
string Label)
|
||||||
|
{
|
||||||
|
XmlElement Element = AppendPropertyGroupToProject(Project);
|
||||||
|
Element.SetAttribute("Label", Label);
|
||||||
|
return Element;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static XmlElement AppendItemGroupToProject(
|
||||||
|
XmlElement Project)
|
||||||
|
{
|
||||||
|
return AppendTagToElement(Project, "ItemGroup");
|
||||||
|
}
|
||||||
|
|
||||||
|
private static XmlElement AppendItemToItemGroup(
|
||||||
|
XmlElement ItemGroup,
|
||||||
|
string Type,
|
||||||
|
string Target)
|
||||||
|
{
|
||||||
|
XmlElement Element = AppendTagToElement(ItemGroup, Type);
|
||||||
|
Element.SetAttribute("Include", Target);
|
||||||
|
return Element;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void AppendTagToElement(
|
||||||
|
XmlElement Element,
|
||||||
|
string Name,
|
||||||
|
string Content)
|
||||||
|
{
|
||||||
|
XmlElement Tag = AppendTagToElement(Element, Name);
|
||||||
|
Tag.InnerText = Content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void AppendItemsToCppProject(
|
||||||
|
XmlElement Project,
|
||||||
|
List<(string Target, string Filter)> HeaderNames,
|
||||||
|
List<(string Target, string Filter)> SourceNames,
|
||||||
|
List<(string Target, string Filter)> OtherNames)
|
||||||
|
{
|
||||||
|
XmlElement HeaderItems = AppendItemGroupToProject(Project);
|
||||||
|
foreach (var Name in HeaderNames)
|
||||||
|
{
|
||||||
|
AppendItemToItemGroup(HeaderItems, "ClInclude", Name.Target);
|
||||||
|
}
|
||||||
|
|
||||||
|
XmlElement SourceItems = AppendItemGroupToProject(Project);
|
||||||
|
foreach (var Name in SourceNames)
|
||||||
|
{
|
||||||
|
AppendItemToItemGroup(SourceItems, "ClCompile", Name.Target);
|
||||||
|
}
|
||||||
|
|
||||||
|
XmlElement OtherItems = AppendItemGroupToProject(Project);
|
||||||
|
foreach (var Name in OtherNames)
|
||||||
|
{
|
||||||
|
AppendItemToItemGroup(OtherItems, "None", Name.Target);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void AppendItemsToCppFilters(
|
||||||
|
XmlElement Project,
|
||||||
|
List<string> FilterNames,
|
||||||
|
List<(string Target, string Filter)> HeaderNames,
|
||||||
|
List<(string Target, string Filter)> SourceNames,
|
||||||
|
List<(string Target, string Filter)> OtherNames)
|
||||||
|
{
|
||||||
|
XmlElement FilterItems = AppendItemGroupToProject(Project);
|
||||||
|
foreach (var FilterName in FilterNames)
|
||||||
|
{
|
||||||
|
XmlElement FilterItem = AppendItemToItemGroup(
|
||||||
|
FilterItems,
|
||||||
|
"Filter",
|
||||||
|
FilterName);
|
||||||
|
AppendTagToElement(
|
||||||
|
FilterItem,
|
||||||
|
"UniqueIdentifier",
|
||||||
|
string.Format("{{{0}}}", Guid.NewGuid()));
|
||||||
|
}
|
||||||
|
|
||||||
|
XmlElement HeaderItems = AppendItemGroupToProject(Project);
|
||||||
|
foreach (var Name in HeaderNames)
|
||||||
|
{
|
||||||
|
XmlElement Item = AppendItemToItemGroup(
|
||||||
|
HeaderItems,
|
||||||
|
"ClInclude",
|
||||||
|
Name.Target);
|
||||||
|
AppendTagToElement(Item, "Filter", Name.Filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
XmlElement SourceItems = AppendItemGroupToProject(Project);
|
||||||
|
foreach (var Name in SourceNames)
|
||||||
|
{
|
||||||
|
XmlElement Item = AppendItemToItemGroup(
|
||||||
|
SourceItems,
|
||||||
|
"ClCompile",
|
||||||
|
Name.Target);
|
||||||
|
AppendTagToElement(Item, "Filter", Name.Filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
XmlElement OtherItems = AppendItemGroupToProject(Project);
|
||||||
|
foreach (var Name in OtherNames)
|
||||||
|
{
|
||||||
|
XmlElement Item = AppendItemToItemGroup(
|
||||||
|
OtherItems,
|
||||||
|
"None",
|
||||||
|
Name.Target);
|
||||||
|
AppendTagToElement(Item, "Filter", Name.Filter);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static XmlDocument CreateCppSharedProject(
|
||||||
|
Guid ProjectGuid,
|
||||||
|
List<(string Target, string Filter)> HeaderNames,
|
||||||
|
List<(string Target, string Filter)> SourceNames,
|
||||||
|
List<(string Target, string Filter)> OtherNames)
|
||||||
|
{
|
||||||
|
XmlDocument Document = new XmlDocument();
|
||||||
|
|
||||||
|
Document.InsertBefore(
|
||||||
|
Document.CreateXmlDeclaration("1.0", "utf-8", null),
|
||||||
|
Document.DocumentElement);
|
||||||
|
|
||||||
|
XmlElement Project = Document.CreateElement(
|
||||||
|
"Project",
|
||||||
|
DefaultNamespaceString);
|
||||||
|
Project.SetAttribute(
|
||||||
|
"ToolsVersion",
|
||||||
|
"4.0");
|
||||||
|
|
||||||
|
XmlElement GlobalPropertyGroup = AppendPropertyGroupToProject(
|
||||||
|
Project,
|
||||||
|
"Globals");
|
||||||
|
AppendTagToElement(
|
||||||
|
GlobalPropertyGroup,
|
||||||
|
"ItemsProjectGuid",
|
||||||
|
string.Format("{{{0}}}", ProjectGuid));
|
||||||
|
|
||||||
|
AppendItemsToCppProject(
|
||||||
|
Project,
|
||||||
|
HeaderNames,
|
||||||
|
SourceNames,
|
||||||
|
OtherNames);
|
||||||
|
|
||||||
|
Document.AppendChild(Project);
|
||||||
|
|
||||||
|
return Document;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static XmlDocument CreateCppSharedFilters(
|
||||||
|
List<string> FilterNames,
|
||||||
|
List<(string Target, string Filter)> HeaderNames,
|
||||||
|
List<(string Target, string Filter)> SourceNames,
|
||||||
|
List<(string Target, string Filter)> OtherNames)
|
||||||
|
{
|
||||||
|
XmlDocument Document = new XmlDocument();
|
||||||
|
|
||||||
|
Document.InsertBefore(
|
||||||
|
Document.CreateXmlDeclaration("1.0", "utf-8", null),
|
||||||
|
Document.DocumentElement);
|
||||||
|
|
||||||
|
XmlElement Project = Document.CreateElement(
|
||||||
|
"Project",
|
||||||
|
DefaultNamespaceString);
|
||||||
|
Project.SetAttribute(
|
||||||
|
"ToolsVersion",
|
||||||
|
"4.0");
|
||||||
|
|
||||||
|
AppendItemsToCppFilters(
|
||||||
|
Project,
|
||||||
|
FilterNames,
|
||||||
|
HeaderNames,
|
||||||
|
SourceNames,
|
||||||
|
OtherNames);
|
||||||
|
|
||||||
|
Document.AppendChild(Project);
|
||||||
|
|
||||||
|
return Document;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
LVGL Simulator/LvglMaintainerTools/ReadMe.md
Normal file
3
LVGL Simulator/LvglMaintainerTools/ReadMe.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# LvglMaintainerTools
|
||||||
|
|
||||||
|
Maintainer specific tools for LVGL for Windows Visual Studio port.
|
16
LVGL Simulator/LvglPlatform/freetype/.clang-format
Normal file
16
LVGL Simulator/LvglPlatform/freetype/.clang-format
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
BasedOnStyle: Chromium
|
||||||
|
AlignAfterOpenBracket: Align
|
||||||
|
AlignConsecutiveAssignments: true
|
||||||
|
AlignConsecutiveDeclarations: true
|
||||||
|
AlignConsecutiveMacros: true
|
||||||
|
AlignEscapedNewlines: true
|
||||||
|
# AlignOperands: Align
|
||||||
|
AlignTrailingComments: true
|
||||||
|
AlwaysBreakAfterReturnType: AllDefinitions
|
||||||
|
BreakBeforeBraces: Allman
|
||||||
|
ColumnLimit: 80
|
||||||
|
DerivePointerAlignment: false
|
||||||
|
IndentCaseLabels: false
|
||||||
|
PointerAlignment: Left
|
||||||
|
SpaceBeforeParens: ControlStatements
|
||||||
|
SpacesInParentheses: true
|
7
LVGL Simulator/LvglPlatform/freetype/.gitignore
vendored
Normal file
7
LVGL Simulator/LvglPlatform/freetype/.gitignore
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
/build/
|
||||||
|
/config.mk
|
||||||
|
include/dlg/
|
||||||
|
src/dlg/dlg.c
|
||||||
|
subprojects/*
|
||||||
|
!subprojects/*.wrap
|
||||||
|
/tests/data/*
|
230
LVGL Simulator/LvglPlatform/freetype/.gitlab-ci.yml
Normal file
230
LVGL Simulator/LvglPlatform/freetype/.gitlab-ci.yml
Normal file
|
@ -0,0 +1,230 @@
|
||||||
|
# CI setup for FreeType.
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- build
|
||||||
|
|
||||||
|
# FIXME: Use --werror once warnings are fixed.
|
||||||
|
variables:
|
||||||
|
MESON_ARGS: --fatal-meson-warnings --default-library=both
|
||||||
|
MESON_ARGS_WINDOWS: ${MESON_ARGS} --force-fallback-for=zlib
|
||||||
|
|
||||||
|
.build windows common:
|
||||||
|
# TODO: should probably get its own image at some point instead of reusing the GStreamer one
|
||||||
|
# See https://gitlab.freedesktop.org/gstreamer/gstreamer/container_registry/18035 for latest
|
||||||
|
image: "registry.freedesktop.org/gstreamer/gstreamer/amd64/windows:2022-07-29.3-main"
|
||||||
|
stage: 'build'
|
||||||
|
tags:
|
||||||
|
- 'docker'
|
||||||
|
- 'windows'
|
||||||
|
- '2022'
|
||||||
|
- 'gstreamer-windows'
|
||||||
|
|
||||||
|
.build linux common:
|
||||||
|
# See
|
||||||
|
# https://gitlab.freedesktop.org/freetype/docker-images/container_registry/20896
|
||||||
|
image: 'registry.freedesktop.org/freetype/docker-images/debian:latest'
|
||||||
|
stage: 'build'
|
||||||
|
|
||||||
|
.build macos common:
|
||||||
|
stage: 'build'
|
||||||
|
tags:
|
||||||
|
- 'gst-macos-11.1'
|
||||||
|
|
||||||
|
.build windows meson:
|
||||||
|
extends: '.build windows common'
|
||||||
|
variables:
|
||||||
|
# Make sure any failure in PowerShell scripts is fatal.
|
||||||
|
ErrorActionPreference: 'Stop'
|
||||||
|
WarningPreference: 'Stop'
|
||||||
|
# Uncomment the following key if you need to pass custom args, as well
|
||||||
|
# with the `$env:MESON_ARGS` line in the `script:` blocks.
|
||||||
|
# MESON_ARGS: >-
|
||||||
|
# -Dfoo=enabled
|
||||||
|
# -Dbar=disabled
|
||||||
|
before_script:
|
||||||
|
# Update RootCAs in order to access to some sites.
|
||||||
|
- certutil -generateSSTFromWU "C:\roots.sst"
|
||||||
|
- Import-Certificate -CertStoreLocation "Cert:\LocalMachine\Root" "C:\roots.sst"
|
||||||
|
# Make sure meson is up to date so we don't need to rebuild the image
|
||||||
|
# with each release.
|
||||||
|
- pip3 install -U 'meson==0.59.*'
|
||||||
|
- pip3 install --upgrade certifi
|
||||||
|
- pip3 install -U ninja
|
||||||
|
|
||||||
|
# Generate a UWP cross-file in case it's used
|
||||||
|
- $PSDefaultParameterValues['Out-File:Encoding'] = 'ASCII'
|
||||||
|
- echo "[binaries]" > uwp-crossfile.meson
|
||||||
|
- echo "c = 'cl'" >> uwp-crossfile.meson
|
||||||
|
- echo "strip = ['true']" >> uwp-crossfile.meson
|
||||||
|
- echo "[built-in options]" >> uwp-crossfile.meson
|
||||||
|
- echo "c_args = ['-DWINAPI_FAMILY=WINAPI_FAMILY_APP', '-DUNICODE', '-D_WIN32_WINNT=0x0A00', '-we4013']" >> uwp-crossfile.meson
|
||||||
|
- echo "c_winlibs = ['windowsapp.lib']" >> uwp-crossfile.meson
|
||||||
|
script:
|
||||||
|
# For some reason, options are separated by newlines instead of spaces,
|
||||||
|
# so we have to replace them first.
|
||||||
|
#
|
||||||
|
# - $env:MESON_ARGS = $env:MESON_ARGS.replace("`n"," ")
|
||||||
|
#
|
||||||
|
# Gitlab executes PowerShell in docker, but `VsDevCmd.bat` is a batch
|
||||||
|
# script. Environment variables substitutions is done by PowerShell
|
||||||
|
# before calling `cmd.exe`, that's why we use `$env:FOO` instead of
|
||||||
|
# `%FOO%`.
|
||||||
|
- cmd.exe /C "C:\BuildTools\Common7\Tools\VsDevCmd.bat -host_arch=amd64 -arch=$env:ARCH $env:VS_UWP &&
|
||||||
|
meson setup build $env:MESON_ARGS_WINDOWS $env:MESON_ARGS_UWP &&
|
||||||
|
meson compile --verbose -C build
|
||||||
|
$env:MESON_WINDOWS_TESTS"
|
||||||
|
|
||||||
|
|
||||||
|
# Format of job names:
|
||||||
|
# <OS> <Build-Tool> <Build-Params> <Architecture>
|
||||||
|
|
||||||
|
|
||||||
|
# Windows jobs.
|
||||||
|
|
||||||
|
windows meson vs2019 amd64:
|
||||||
|
extends: '.build windows meson'
|
||||||
|
variables:
|
||||||
|
ARCH: 'amd64'
|
||||||
|
MESON_WINDOWS_TESTS: '&& meson test -C build && meson test -C build --benchmark'
|
||||||
|
|
||||||
|
windows meson vs2019 x86:
|
||||||
|
extends: '.build windows meson'
|
||||||
|
variables:
|
||||||
|
ARCH: 'x86'
|
||||||
|
MESON_WINDOWS_TESTS: '&& meson test -C build && meson test -C build --benchmark'
|
||||||
|
|
||||||
|
windows meson vs2019 amd64 uwp:
|
||||||
|
extends: '.build windows meson'
|
||||||
|
variables:
|
||||||
|
ARCH: 'amd64'
|
||||||
|
VS_UWP: '-app_platform=UWP'
|
||||||
|
MESON_ARGS_UWP: '--cross-file uwp-crossfile.meson -Dc_winlibs="windowsapp.lib"'
|
||||||
|
|
||||||
|
# Linux Jobs.
|
||||||
|
#
|
||||||
|
# Jobs with "libs" in the name force-enable libraries.
|
||||||
|
# They are disabled for the remaining jobs.
|
||||||
|
|
||||||
|
linux autotools:
|
||||||
|
extends: '.build linux common'
|
||||||
|
script: |
|
||||||
|
./autogen.sh
|
||||||
|
./configure --with-brotli=no \
|
||||||
|
--with-bzip2=no \
|
||||||
|
--with-harfbuzz=no \
|
||||||
|
--with-png=no \
|
||||||
|
--with-zlib=no \
|
||||||
|
CC=gcc
|
||||||
|
|
||||||
|
make -j$(nproc) && make install
|
||||||
|
|
||||||
|
linux autotools libs:
|
||||||
|
extends: '.build linux common'
|
||||||
|
script: |
|
||||||
|
./autogen.sh
|
||||||
|
./configure --with-brotli=yes \
|
||||||
|
--with-bzip2=yes \
|
||||||
|
--with-harfbuzz=yes \
|
||||||
|
--with-png=yes \
|
||||||
|
--with-zlib=yes \
|
||||||
|
CC=gcc
|
||||||
|
|
||||||
|
make -j$(nproc) && make install
|
||||||
|
|
||||||
|
linux autotools libs clang:
|
||||||
|
extends: '.build linux common'
|
||||||
|
script: |
|
||||||
|
./autogen.sh
|
||||||
|
./configure --with-brotli=yes \
|
||||||
|
--with-bzip2=yes \
|
||||||
|
--with-harfbuzz=yes \
|
||||||
|
--with-png=yes \
|
||||||
|
--with-zlib=yes \
|
||||||
|
CC=clang
|
||||||
|
|
||||||
|
make -j$(nproc) && make install
|
||||||
|
|
||||||
|
linux meson:
|
||||||
|
extends: '.build linux common'
|
||||||
|
script: |
|
||||||
|
meson setup build ${MESON_ARGS} \
|
||||||
|
-Dbrotli=disabled \
|
||||||
|
-Dbzip2=disabled \
|
||||||
|
-Dharfbuzz=disabled \
|
||||||
|
-Dpng=disabled \
|
||||||
|
-Dzlib=disabled
|
||||||
|
|
||||||
|
meson compile --verbose -C build
|
||||||
|
meson install -C build
|
||||||
|
|
||||||
|
linux meson libs:
|
||||||
|
extends: '.build linux common'
|
||||||
|
script: |
|
||||||
|
meson setup build ${MESON_ARGS} \
|
||||||
|
-Dbrotli=enabled \
|
||||||
|
-Dbzip2=enabled \
|
||||||
|
-Dharfbuzz=disabled \
|
||||||
|
-Dpng=disabled \
|
||||||
|
-Dzlib=disabled
|
||||||
|
|
||||||
|
meson compile --verbose -C build
|
||||||
|
meson install -C build
|
||||||
|
|
||||||
|
linux cmake:
|
||||||
|
extends: '.build linux common'
|
||||||
|
script: |
|
||||||
|
cmake -B build -D FT_DISABLE_BROTLI=TRUE \
|
||||||
|
-D FT_DISABLE_BZIP2=TRUE \
|
||||||
|
-D FT_DISABLE_HARFBUZZ=TRUE \
|
||||||
|
-D FT_DISABLE_PNG=TRUE \
|
||||||
|
-D FT_DISABLE_ZLIB=TRUE
|
||||||
|
|
||||||
|
cmake --build build --target install
|
||||||
|
|
||||||
|
linux cmake libs:
|
||||||
|
extends: '.build linux common'
|
||||||
|
script: |
|
||||||
|
cmake -B build -D FT_REQUIRE_BROTLI=TRUE \
|
||||||
|
-D FT_REQUIRE_BZIP2=TRUE \
|
||||||
|
-D FT_REQUIRE_HARFBUZZ=TRUE \
|
||||||
|
-D FT_REQUIRE_PNG=TRUE \
|
||||||
|
-D FT_REQUIRE_ZLIB=TRUE
|
||||||
|
|
||||||
|
cmake --build build --target install
|
||||||
|
|
||||||
|
|
||||||
|
# MacOS jobs.
|
||||||
|
|
||||||
|
macos autotools:
|
||||||
|
extends: '.build macos common'
|
||||||
|
before_script:
|
||||||
|
- '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"'
|
||||||
|
script:
|
||||||
|
- brew install autoconf automake libtool
|
||||||
|
- ./autogen.sh
|
||||||
|
- ./configure
|
||||||
|
- 'make -j$(sysctl -n hw.logicalcpu)'
|
||||||
|
- make install
|
||||||
|
|
||||||
|
macos autotools clang:
|
||||||
|
extends: '.build macos common'
|
||||||
|
before_script:
|
||||||
|
- '/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"'
|
||||||
|
script:
|
||||||
|
- brew install autoconf automake libtool
|
||||||
|
- ./autogen.sh
|
||||||
|
- './configure CC=clang'
|
||||||
|
- 'make -j$(sysctl -n hw.logicalcpu)'
|
||||||
|
- make install
|
||||||
|
|
||||||
|
macos meson:
|
||||||
|
extends: '.build macos common'
|
||||||
|
script:
|
||||||
|
- pip3 install --upgrade pip
|
||||||
|
- pip3 install -U meson
|
||||||
|
- pip3 install --upgrade certifi
|
||||||
|
- pip3 install -U ninja
|
||||||
|
|
||||||
|
- meson setup build ${MESON_ARGS}
|
||||||
|
- meson compile --verbose -C build
|
||||||
|
- sudo meson install -C build
|
3
LVGL Simulator/LvglPlatform/freetype/.gitmodules
vendored
Normal file
3
LVGL Simulator/LvglPlatform/freetype/.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "dlg"]
|
||||||
|
path = subprojects/dlg
|
||||||
|
url = https://github.com/nyorain/dlg.git
|
24
LVGL Simulator/LvglPlatform/freetype/.mailmap
Normal file
24
LVGL Simulator/LvglPlatform/freetype/.mailmap
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
Behdad Esfahbod (بهداد اسفهبد) <behdad@behdad.org> <behdad.esfahbod@gmail.com>
|
||||||
|
Behdad Esfahbod (بهداد اسفهبد) <behdad@behdad.org> <behdad@google.com>
|
||||||
|
Behdad Esfahbod (بهداد اسفهبد) <behdad@behdad.org>
|
||||||
|
Alexander Borsuk <me@alex.bio> <alexander.borsuk@qnective.com>
|
||||||
|
Ewald Hew (Hew Yih Shiuan 丘毅宣) <ewaldhew@gmail.com>
|
||||||
|
Moazin Khatti (موؤذن کھٹی) <moazinkhatri@gmail.com>
|
||||||
|
Priyesh Kumar (प्रियेश कुमार) <priyeshkkumar@gmail.com>
|
||||||
|
Alexei Podtelezhnikov (Алексей Подтележников) <apodtele@gmail.com>
|
||||||
|
Nikhil Ramakrishnan (निखिल रामकृष्णन) <ramakrishnan.nikhil@gmail.com>
|
||||||
|
Dominik Röttsches <drott@chromium.org> <drott@google.com>
|
||||||
|
Kostya Serebryany <kcc@google.com> <konstantin.s.serebryany@gmail.com>
|
||||||
|
Suzuki, Toshiya (鈴木俊哉) <mpsuzuki@hiroshima-u.ac.jp> <sssa@flavor1.ipc.hiroshima-u.ac.jp>
|
||||||
|
Suzuki, Toshiya (鈴木俊哉) <mpsuzuki@hiroshima-u.ac.jp> sssa <sssa@IPA2004-mps.local>
|
||||||
|
Suzuki, Toshiya (鈴木俊哉) <mpsuzuki@hiroshima-u.ac.jp> sssa <sssa@sssas-powerbook-g4-12.local>
|
||||||
|
Suzuki, Toshiya (鈴木俊哉) <mpsuzuki@hiroshima-u.ac.jp> suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||||
|
Bram Tassyns <bramt@enfocus.be> bram tassyns <BramT@enfocus.be>
|
||||||
|
Bram Tassyns <bramt@enfocus.be> <BramT@enfocus.com>
|
||||||
|
David Turner <david@freetype.org> <david.turner.dev@gmail.com>
|
||||||
|
David Turner <david@freetype.org> <digit@google.com>
|
||||||
|
Anuj Verma (अनुज वर्मा) <anujv@iitbhilai.ac.in>
|
||||||
|
Ben Wagner <bungeman@gmail.com> Bungeman <bungeman@gmail.com>
|
||||||
|
Ben Wagner <bungeman@gmail.com> <bungeman@google.com>
|
||||||
|
Ben Wagner <bungeman@gmail.com> <bungeman@chromium.org>
|
||||||
|
Nikolaus Waxweiler <madigens@gmail.com> <nikolaus.waxweiler@daltonmaag.com>
|
681
LVGL Simulator/LvglPlatform/freetype/CMakeLists.txt
Normal file
681
LVGL Simulator/LvglPlatform/freetype/CMakeLists.txt
Normal file
|
@ -0,0 +1,681 @@
|
||||||
|
# CMakeLists.txt
|
||||||
|
#
|
||||||
|
# Copyright (C) 2013-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# Written originally by John Cary <cary@txcorp.com>
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# The following will (1) create a build directory, and (2) change into it and
|
||||||
|
# call cmake to configure the build with default parameters as a static
|
||||||
|
# library. See
|
||||||
|
#
|
||||||
|
# https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html
|
||||||
|
#
|
||||||
|
# for information about debug or release builds, for example
|
||||||
|
#
|
||||||
|
# cmake -B build -D CMAKE_BUILD_TYPE=Release
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# For a dynamic library, use
|
||||||
|
#
|
||||||
|
# cmake -B build -D BUILD_SHARED_LIBS=true -D CMAKE_BUILD_TYPE=Release
|
||||||
|
#
|
||||||
|
# For a framework on OS X, use
|
||||||
|
#
|
||||||
|
# cmake -E chdir build cmake -G Xcode -D BUILD_FRAMEWORK:BOOL=true ..
|
||||||
|
#
|
||||||
|
# For an iOS static library, use
|
||||||
|
#
|
||||||
|
# cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=OS ..
|
||||||
|
#
|
||||||
|
# or
|
||||||
|
#
|
||||||
|
# cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=SIMULATOR ..
|
||||||
|
#
|
||||||
|
# or
|
||||||
|
#
|
||||||
|
# cmake -E chdir build cmake -G Xcode -D IOS_PLATFORM=SIMULATOR64 ..
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Finally, build the project with
|
||||||
|
#
|
||||||
|
# cmake --build build
|
||||||
|
#
|
||||||
|
# Install it with
|
||||||
|
#
|
||||||
|
# (sudo) cmake --build build --target install
|
||||||
|
#
|
||||||
|
# A binary distribution can be made with
|
||||||
|
#
|
||||||
|
# cmake --build build --config Release --target package
|
||||||
|
#
|
||||||
|
# Please refer to the cmake manual for further options, in particular, how
|
||||||
|
# to modify compilation and linking parameters.
|
||||||
|
#
|
||||||
|
# Some notes.
|
||||||
|
#
|
||||||
|
# - Say `cmake -LAH` to see all configuration options.
|
||||||
|
#
|
||||||
|
# - `cmake' creates configuration files in
|
||||||
|
#
|
||||||
|
# <build-directory>/include/freetype/config
|
||||||
|
#
|
||||||
|
# which should be further modified if necessary.
|
||||||
|
#
|
||||||
|
# - You can use `cmake' directly on a freshly cloned FreeType git
|
||||||
|
# repository.
|
||||||
|
#
|
||||||
|
# - `CMakeLists.txt' is provided as-is since it is normally not used by the
|
||||||
|
# developer team.
|
||||||
|
#
|
||||||
|
# - Set the `FT_REQUIRE_ZLIB', `FT_REQUIRE_BZIP2', `FT_REQUIRE_PNG',
|
||||||
|
# `FT_REQUIRE_HARFBUZZ', and `FT_REQUIRE_BROTLI' CMake variables to `ON'
|
||||||
|
# or `TRUE' to force using a dependency. Leave a variable undefined
|
||||||
|
# (which is the default) to use the dependency only if it is available.
|
||||||
|
# Example:
|
||||||
|
#
|
||||||
|
# cmake -B build -D FT_REQUIRE_ZLIB=TRUE \
|
||||||
|
# -D FT_REQUIRE_BZIP2=TRUE \
|
||||||
|
# -D FT_REQUIRE_PNG=TRUE \
|
||||||
|
# -D FT_REQUIRE_HARFBUZZ=TRUE \
|
||||||
|
# -D FT_REQUIRE_BROTLI=TRUE [...]
|
||||||
|
#
|
||||||
|
# - Set `FT_DISABLE_XXX=TRUE' to disable a dependency completely (where
|
||||||
|
# `XXX' is a CMake package name like `BZip2'). Example for disabling all
|
||||||
|
# dependencies:
|
||||||
|
#
|
||||||
|
# cmake -B build -D FT_DISABLE_ZLIB=TRUE \
|
||||||
|
# -D FT_DISABLE_BZIP2=TRUE \
|
||||||
|
# -D FT_DISABLE_PNG=TRUE \
|
||||||
|
# -D FT_DISABLE_HARFBUZZ=TRUE \
|
||||||
|
# -D FT_DISABLE_BROTLI=TRUE [...]
|
||||||
|
#
|
||||||
|
# - NOTE: If a package is set as DISABLED, it cannot be set as REQUIRED
|
||||||
|
# without unsetting the DISABLED value first. For example, if
|
||||||
|
# `FT_DISABLE_HARFBUZZ=TRUE' has been set (Cache is present), you need to
|
||||||
|
# call `FT_DISABLE_HARFBUZZ=FALSE' before calling
|
||||||
|
# `FT_REQUIRE_HARFBUZZ=TRUE'.
|
||||||
|
#
|
||||||
|
# - Installation of FreeType can be controlled with the CMake variables
|
||||||
|
# `SKIP_INSTALL_HEADERS', `SKIP_INSTALL_LIBRARIES', and `SKIP_INSTALL_ALL'
|
||||||
|
# (this is compatible with the same CMake variables in zlib's CMake
|
||||||
|
# support).
|
||||||
|
|
||||||
|
# To minimize the number of cmake_policy() workarounds,
|
||||||
|
# CMake >= 3 is requested.
|
||||||
|
cmake_minimum_required(VERSION 3.0)
|
||||||
|
|
||||||
|
if (NOT CMAKE_VERSION VERSION_LESS 3.3)
|
||||||
|
# Allow symbol visibility settings also on static libraries. CMake < 3.3
|
||||||
|
# only sets the property on a shared library build.
|
||||||
|
cmake_policy(SET CMP0063 NEW)
|
||||||
|
|
||||||
|
# Support new IN_LIST if() operator.
|
||||||
|
cmake_policy(SET CMP0057 NEW)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
include(CheckIncludeFile)
|
||||||
|
include(CMakeDependentOption)
|
||||||
|
|
||||||
|
# CMAKE_TOOLCHAIN_FILE must be set before `project' is called, which
|
||||||
|
# configures the base build environment and references the toolchain file
|
||||||
|
if (APPLE)
|
||||||
|
if (DEFINED IOS_PLATFORM)
|
||||||
|
if (NOT "${IOS_PLATFORM}" STREQUAL "OS"
|
||||||
|
AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR"
|
||||||
|
AND NOT "${IOS_PLATFORM}" STREQUAL "SIMULATOR64")
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"IOS_PLATFORM must be set to either OS, SIMULATOR, or SIMULATOR64")
|
||||||
|
endif ()
|
||||||
|
if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode")
|
||||||
|
message(AUTHOR_WARNING
|
||||||
|
"You should use Xcode generator with IOS_PLATFORM enabled to get Universal builds.")
|
||||||
|
endif ()
|
||||||
|
if (BUILD_SHARED_LIBS)
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"BUILD_SHARED_LIBS can not be on with IOS_PLATFORM enabled")
|
||||||
|
endif ()
|
||||||
|
if (BUILD_FRAMEWORK)
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"BUILD_FRAMEWORK can not be on with IOS_PLATFORM enabled")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
# iOS only uses static libraries
|
||||||
|
set(BUILD_SHARED_LIBS OFF)
|
||||||
|
|
||||||
|
set(CMAKE_TOOLCHAIN_FILE
|
||||||
|
${CMAKE_SOURCE_DIR}/builds/cmake/iOS.cmake)
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
if (DEFINED IOS_PLATFORM)
|
||||||
|
message(FATAL_ERROR "IOS_PLATFORM is not supported on this platform")
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
|
project(freetype C)
|
||||||
|
|
||||||
|
set(VERSION_MAJOR "2")
|
||||||
|
set(VERSION_MINOR "12")
|
||||||
|
set(VERSION_PATCH "1")
|
||||||
|
|
||||||
|
# Generate LIBRARY_VERSION and LIBRARY_SOVERSION.
|
||||||
|
set(LIBTOOL_REGEX "version_info='([0-9]+):([0-9]+):([0-9]+)'")
|
||||||
|
file(STRINGS "${PROJECT_SOURCE_DIR}/builds/unix/configure.raw"
|
||||||
|
VERSION_INFO
|
||||||
|
REGEX ${LIBTOOL_REGEX})
|
||||||
|
string(REGEX REPLACE
|
||||||
|
${LIBTOOL_REGEX} "\\1"
|
||||||
|
LIBTOOL_CURRENT "${VERSION_INFO}")
|
||||||
|
string(REGEX REPLACE
|
||||||
|
${LIBTOOL_REGEX} "\\2"
|
||||||
|
LIBTOOL_REVISION "${VERSION_INFO}")
|
||||||
|
string(REGEX REPLACE
|
||||||
|
${LIBTOOL_REGEX} "\\3"
|
||||||
|
LIBTOOL_AGE "${VERSION_INFO}")
|
||||||
|
|
||||||
|
# This is what libtool does internally on Unix platforms.
|
||||||
|
math(EXPR LIBRARY_SOVERSION "${LIBTOOL_CURRENT} - ${LIBTOOL_AGE}")
|
||||||
|
set(LIBRARY_VERSION "${LIBRARY_SOVERSION}.${LIBTOOL_AGE}.${LIBTOOL_REVISION}")
|
||||||
|
|
||||||
|
# External dependency library detection is automatic. See the notes at the
|
||||||
|
# top of this file, for how to force or disable dependencies completely.
|
||||||
|
option(FT_DISABLE_ZLIB
|
||||||
|
"Disable use of system zlib and use internal zlib library instead." OFF)
|
||||||
|
cmake_dependent_option(FT_REQUIRE_ZLIB
|
||||||
|
"Require system zlib instead of internal zlib library." OFF
|
||||||
|
"NOT FT_DISABLE_ZLIB" OFF)
|
||||||
|
|
||||||
|
option(FT_DISABLE_BZIP2
|
||||||
|
"Disable support of bzip2 compressed fonts." OFF)
|
||||||
|
cmake_dependent_option(FT_REQUIRE_BZIP2
|
||||||
|
"Require support of bzip2 compressed fonts." OFF
|
||||||
|
"NOT FT_DISABLE_BZIP2" OFF)
|
||||||
|
|
||||||
|
option(FT_DISABLE_PNG
|
||||||
|
"Disable support of PNG compressed OpenType embedded bitmaps." OFF)
|
||||||
|
cmake_dependent_option(FT_REQUIRE_PNG
|
||||||
|
"Require support of PNG compressed OpenType embedded bitmaps." OFF
|
||||||
|
"NOT FT_DISABLE_PNG" OFF)
|
||||||
|
|
||||||
|
option(FT_DISABLE_HARFBUZZ
|
||||||
|
"Disable HarfBuzz (used for improving auto-hinting of OpenType fonts)." OFF)
|
||||||
|
cmake_dependent_option(FT_REQUIRE_HARFBUZZ
|
||||||
|
"Require HarfBuzz for improving auto-hinting of OpenType fonts." OFF
|
||||||
|
"NOT FT_DISABLE_HARFBUZZ" OFF)
|
||||||
|
|
||||||
|
option(FT_DISABLE_BROTLI
|
||||||
|
"Disable support of compressed WOFF2 fonts." OFF)
|
||||||
|
cmake_dependent_option(FT_REQUIRE_BROTLI
|
||||||
|
"Require support of compressed WOFF2 fonts." OFF
|
||||||
|
"NOT FT_DISABLE_BROTLI" OFF)
|
||||||
|
|
||||||
|
option(FT_ENABLE_ERROR_STRINGS
|
||||||
|
"Enable support for meaningful error descriptions." OFF)
|
||||||
|
|
||||||
|
# Disallow in-source builds
|
||||||
|
if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_SOURCE_DIR}")
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"In-source builds are not permitted! Make a separate folder for"
|
||||||
|
" building, e.g.,\n"
|
||||||
|
" cmake -E make_directory build\n"
|
||||||
|
" cmake -E chdir build cmake ..\n"
|
||||||
|
"Before that, remove the files created by this failed run with\n"
|
||||||
|
" cmake -E remove CMakeCache.txt\n"
|
||||||
|
" cmake -E remove_directory CMakeFiles")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
|
# Add local cmake modules
|
||||||
|
list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/builds/cmake)
|
||||||
|
|
||||||
|
|
||||||
|
if (BUILD_FRAMEWORK)
|
||||||
|
if (NOT "${CMAKE_GENERATOR}" STREQUAL "Xcode")
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"You should use Xcode generator with BUILD_FRAMEWORK enabled")
|
||||||
|
endif ()
|
||||||
|
set(CMAKE_OSX_ARCHITECTURES "$(ARCHS_STANDARD)")
|
||||||
|
set(BUILD_SHARED_LIBS ON)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
|
# Find dependencies
|
||||||
|
include(FindPkgConfig)
|
||||||
|
|
||||||
|
if (NOT FT_DISABLE_HARFBUZZ)
|
||||||
|
set(HARFBUZZ_MIN_VERSION "2.0.0")
|
||||||
|
if (FT_REQUIRE_HARFBUZZ)
|
||||||
|
find_package(HarfBuzz ${HARFBUZZ_MIN_VERSION} REQUIRED)
|
||||||
|
else ()
|
||||||
|
find_package(HarfBuzz ${HARFBUZZ_MIN_VERSION})
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (NOT FT_DISABLE_PNG)
|
||||||
|
if (FT_REQUIRE_PNG)
|
||||||
|
find_package(PNG REQUIRED)
|
||||||
|
else ()
|
||||||
|
find_package(PNG)
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (NOT FT_DISABLE_ZLIB)
|
||||||
|
if (FT_REQUIRE_ZLIB)
|
||||||
|
find_package(ZLIB REQUIRED)
|
||||||
|
else ()
|
||||||
|
find_package(ZLIB)
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (NOT FT_DISABLE_BZIP2)
|
||||||
|
# Genuine BZip2 does not provide bzip2.pc, but some platforms have it.
|
||||||
|
# For better dependency in freetype2.pc, bzip2.pc is searched
|
||||||
|
# regardless of the availability of libbz2. If bzip2.pc is found,
|
||||||
|
# Requires.private is used instead of Libs.private.
|
||||||
|
if (FT_REQUIRE_BZIP2)
|
||||||
|
find_package(BZip2 REQUIRED)
|
||||||
|
else ()
|
||||||
|
find_package(BZip2)
|
||||||
|
endif ()
|
||||||
|
pkg_check_modules(PC_BZIP2 bzip2)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (NOT FT_DISABLE_BROTLI)
|
||||||
|
if (FT_REQUIRE_BROTLI)
|
||||||
|
find_package(BrotliDec REQUIRED)
|
||||||
|
else ()
|
||||||
|
find_package(BrotliDec)
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
# Create the configuration file
|
||||||
|
if (UNIX)
|
||||||
|
check_include_file("unistd.h" HAVE_UNISTD_H)
|
||||||
|
check_include_file("fcntl.h" HAVE_FCNTL_H)
|
||||||
|
|
||||||
|
file(READ "${PROJECT_SOURCE_DIR}/builds/unix/ftconfig.h.in"
|
||||||
|
FTCONFIG_H)
|
||||||
|
if (HAVE_UNISTD_H)
|
||||||
|
string(REGEX REPLACE
|
||||||
|
"#undef +(HAVE_UNISTD_H)" "#define \\1 1"
|
||||||
|
FTCONFIG_H "${FTCONFIG_H}")
|
||||||
|
endif ()
|
||||||
|
if (HAVE_FCNTL_H)
|
||||||
|
string(REGEX REPLACE
|
||||||
|
"#undef +(HAVE_FCNTL_H)" "#define \\1 1"
|
||||||
|
FTCONFIG_H "${FTCONFIG_H}")
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftconfig.h"
|
||||||
|
FTCONFIG_H)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
set(FTCONFIG_H_NAME "${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h")
|
||||||
|
if (EXISTS "${FTCONFIG_H_NAME}")
|
||||||
|
file(READ "${FTCONFIG_H_NAME}" ORIGINAL_FTCONFIG_H)
|
||||||
|
else ()
|
||||||
|
set(ORIGINAL_FTCONFIG_H "")
|
||||||
|
endif ()
|
||||||
|
if (NOT (ORIGINAL_FTCONFIG_H STREQUAL FTCONFIG_H))
|
||||||
|
file(WRITE "${FTCONFIG_H_NAME}" "${FTCONFIG_H}")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
|
# Create the options file
|
||||||
|
file(READ "${PROJECT_SOURCE_DIR}/include/freetype/config/ftoption.h"
|
||||||
|
FTOPTION_H)
|
||||||
|
if (ZLIB_FOUND)
|
||||||
|
string(REGEX REPLACE
|
||||||
|
"/\\* +(#define +FT_CONFIG_OPTION_SYSTEM_ZLIB) +\\*/" "\\1"
|
||||||
|
FTOPTION_H "${FTOPTION_H}")
|
||||||
|
endif ()
|
||||||
|
if (BZIP2_FOUND)
|
||||||
|
string(REGEX REPLACE
|
||||||
|
"/\\* +(#define +FT_CONFIG_OPTION_USE_BZIP2) +\\*/" "\\1"
|
||||||
|
FTOPTION_H "${FTOPTION_H}")
|
||||||
|
endif ()
|
||||||
|
if (PNG_FOUND)
|
||||||
|
string(REGEX REPLACE
|
||||||
|
"/\\* +(#define +FT_CONFIG_OPTION_USE_PNG) +\\*/" "\\1"
|
||||||
|
FTOPTION_H "${FTOPTION_H}")
|
||||||
|
endif ()
|
||||||
|
if (HARFBUZZ_FOUND)
|
||||||
|
string(REGEX REPLACE
|
||||||
|
"/\\* +(#define +FT_CONFIG_OPTION_USE_HARFBUZZ) +\\*/" "\\1"
|
||||||
|
FTOPTION_H "${FTOPTION_H}")
|
||||||
|
endif ()
|
||||||
|
if (BROTLIDEC_FOUND)
|
||||||
|
string(REGEX REPLACE
|
||||||
|
"/\\* +(#define +FT_CONFIG_OPTION_USE_BROTLI) +\\*/" "\\1"
|
||||||
|
FTOPTION_H "${FTOPTION_H}")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (FT_ENABLE_ERROR_STRINGS)
|
||||||
|
string(REGEX REPLACE
|
||||||
|
"/\\* +(#define +FT_CONFIG_OPTION_ERROR_STRINGS) +\\*/" "\\1"
|
||||||
|
FTOPTION_H "${FTOPTION_H}")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
set(FTOPTION_H_NAME "${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h")
|
||||||
|
if (EXISTS "${FTOPTION_H_NAME}")
|
||||||
|
file(READ "${FTOPTION_H_NAME}" ORIGINAL_FTOPTION_H)
|
||||||
|
else ()
|
||||||
|
set(ORIGINAL_FTOPTION_H "")
|
||||||
|
endif ()
|
||||||
|
if (NOT (ORIGINAL_FTOPTION_H STREQUAL FTOPTION_H))
|
||||||
|
file(WRITE "${FTOPTION_H_NAME}" "${FTOPTION_H}")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
|
file(GLOB PUBLIC_HEADERS "include/ft2build.h" "include/freetype/*.h")
|
||||||
|
file(GLOB PUBLIC_CONFIG_HEADERS "include/freetype/config/*.h")
|
||||||
|
file(GLOB PRIVATE_HEADERS "include/freetype/internal/*.h")
|
||||||
|
|
||||||
|
|
||||||
|
set(BASE_SRCS
|
||||||
|
src/autofit/autofit.c
|
||||||
|
src/base/ftbase.c
|
||||||
|
src/base/ftbbox.c
|
||||||
|
src/base/ftbdf.c
|
||||||
|
src/base/ftbitmap.c
|
||||||
|
src/base/ftcid.c
|
||||||
|
src/base/ftfstype.c
|
||||||
|
src/base/ftgasp.c
|
||||||
|
src/base/ftglyph.c
|
||||||
|
src/base/ftgxval.c
|
||||||
|
src/base/ftinit.c
|
||||||
|
src/base/ftmm.c
|
||||||
|
src/base/ftotval.c
|
||||||
|
src/base/ftpatent.c
|
||||||
|
src/base/ftpfr.c
|
||||||
|
src/base/ftstroke.c
|
||||||
|
src/base/ftsynth.c
|
||||||
|
src/base/fttype1.c
|
||||||
|
src/base/ftwinfnt.c
|
||||||
|
src/bdf/bdf.c
|
||||||
|
src/bzip2/ftbzip2.c
|
||||||
|
src/cache/ftcache.c
|
||||||
|
src/cff/cff.c
|
||||||
|
src/cid/type1cid.c
|
||||||
|
src/gzip/ftgzip.c
|
||||||
|
src/lzw/ftlzw.c
|
||||||
|
src/pcf/pcf.c
|
||||||
|
src/pfr/pfr.c
|
||||||
|
src/psaux/psaux.c
|
||||||
|
src/pshinter/pshinter.c
|
||||||
|
src/psnames/psnames.c
|
||||||
|
src/raster/raster.c
|
||||||
|
src/sdf/sdf.c
|
||||||
|
src/sfnt/sfnt.c
|
||||||
|
src/smooth/smooth.c
|
||||||
|
src/svg/svg.c
|
||||||
|
src/truetype/truetype.c
|
||||||
|
src/type1/type1.c
|
||||||
|
src/type42/type42.c
|
||||||
|
src/winfonts/winfnt.c
|
||||||
|
)
|
||||||
|
|
||||||
|
if (UNIX)
|
||||||
|
list(APPEND BASE_SRCS "builds/unix/ftsystem.c")
|
||||||
|
elseif (WIN32)
|
||||||
|
list(APPEND BASE_SRCS "builds/windows/ftsystem.c")
|
||||||
|
else ()
|
||||||
|
list(APPEND BASE_SRCS "src/base/ftsystem.c")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (WIN32)
|
||||||
|
enable_language(RC)
|
||||||
|
list(APPEND BASE_SRCS builds/windows/ftdebug.c
|
||||||
|
src/base/ftver.rc)
|
||||||
|
elseif (WINCE)
|
||||||
|
list(APPEND BASE_SRCS builds/wince/ftdebug.c)
|
||||||
|
else ()
|
||||||
|
list(APPEND BASE_SRCS src/base/ftdebug.c)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (BUILD_FRAMEWORK)
|
||||||
|
list(APPEND BASE_SRCS builds/mac/freetype-Info.plist)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
|
if (NOT DISABLE_FORCE_DEBUG_POSTFIX)
|
||||||
|
set(CMAKE_DEBUG_POSTFIX d)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
|
add_library(freetype
|
||||||
|
${PUBLIC_HEADERS}
|
||||||
|
${PUBLIC_CONFIG_HEADERS}
|
||||||
|
${PRIVATE_HEADERS}
|
||||||
|
${BASE_SRCS}
|
||||||
|
)
|
||||||
|
|
||||||
|
set_target_properties(
|
||||||
|
freetype PROPERTIES
|
||||||
|
C_VISIBILITY_PRESET hidden)
|
||||||
|
|
||||||
|
target_compile_definitions(
|
||||||
|
freetype PRIVATE FT2_BUILD_LIBRARY)
|
||||||
|
|
||||||
|
if (WIN32)
|
||||||
|
target_compile_definitions(
|
||||||
|
freetype PRIVATE _CRT_SECURE_NO_WARNINGS _CRT_NONSTDC_NO_WARNINGS)
|
||||||
|
if (BUILD_SHARED_LIBS)
|
||||||
|
target_compile_definitions(
|
||||||
|
freetype PRIVATE DLL_EXPORT)
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (BUILD_SHARED_LIBS)
|
||||||
|
set_target_properties(freetype PROPERTIES
|
||||||
|
VERSION ${LIBRARY_VERSION}
|
||||||
|
SOVERSION ${LIBRARY_SOVERSION})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
# Pick up ftconfig.h and ftoption.h generated above, first.
|
||||||
|
target_include_directories(
|
||||||
|
freetype
|
||||||
|
PUBLIC
|
||||||
|
$<INSTALL_INTERFACE:include/freetype2>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
|
||||||
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||||
|
PRIVATE
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/include
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||||
|
|
||||||
|
# Make <ftconfig.h> available for builds/unix/ftsystem.c.
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/include/freetype/config
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
if (BUILD_FRAMEWORK)
|
||||||
|
set_property(SOURCE ${PUBLIC_CONFIG_HEADERS}
|
||||||
|
PROPERTY MACOSX_PACKAGE_LOCATION Headers/config
|
||||||
|
)
|
||||||
|
set_target_properties(freetype PROPERTIES
|
||||||
|
FRAMEWORK TRUE
|
||||||
|
MACOSX_FRAMEWORK_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/builds/mac/freetype-Info.plist
|
||||||
|
PUBLIC_HEADER "${PUBLIC_HEADERS}"
|
||||||
|
XCODE_ATTRIBUTE_INSTALL_PATH "@rpath"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
# 'freetype-interface' is an interface library, to be accessed with
|
||||||
|
# `EXPORT_NAME Freetype::Freetype`. This is the target name provided by
|
||||||
|
# CMake's `FindFreetype.cmake`, so we provide it for compatibility.
|
||||||
|
add_library(freetype-interface INTERFACE)
|
||||||
|
set_target_properties(freetype-interface PROPERTIES
|
||||||
|
EXPORT_NAME Freetype::Freetype
|
||||||
|
INTERFACE_LINK_LIBRARIES freetype)
|
||||||
|
|
||||||
|
set(PKGCONFIG_REQUIRES "")
|
||||||
|
set(PKGCONFIG_REQUIRES_PRIVATE "")
|
||||||
|
set(PKGCONFIG_LIBS "-L\${libdir} -lfreetype")
|
||||||
|
set(PKGCONFIG_LIBS_PRIVATE "")
|
||||||
|
|
||||||
|
if (ZLIB_FOUND)
|
||||||
|
target_link_libraries(freetype PRIVATE ${ZLIB_LIBRARIES})
|
||||||
|
target_include_directories(freetype PRIVATE ${ZLIB_INCLUDE_DIRS})
|
||||||
|
list(APPEND PKGCONFIG_REQUIRES_PRIVATE "zlib")
|
||||||
|
endif ()
|
||||||
|
if (BZIP2_FOUND)
|
||||||
|
target_link_libraries(freetype PRIVATE ${BZIP2_LIBRARIES})
|
||||||
|
target_include_directories(freetype PRIVATE ${BZIP2_INCLUDE_DIR}) # not BZIP2_INCLUDE_DIRS
|
||||||
|
if (PC_BZIP2_FOUND)
|
||||||
|
list(APPEND PKGCONFIG_REQUIRES_PRIVATE "bzip2")
|
||||||
|
else ()
|
||||||
|
list(APPEND PKGCONFIG_LIBS_PRIVATE "-lbz2")
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
if (PNG_FOUND)
|
||||||
|
target_link_libraries(freetype PRIVATE ${PNG_LIBRARIES})
|
||||||
|
target_compile_definitions(freetype PRIVATE ${PNG_DEFINITIONS})
|
||||||
|
target_include_directories(freetype PRIVATE ${PNG_INCLUDE_DIRS})
|
||||||
|
list(APPEND PKGCONFIG_REQUIRES_PRIVATE "libpng")
|
||||||
|
endif ()
|
||||||
|
if (HarfBuzz_FOUND)
|
||||||
|
target_link_libraries(freetype PRIVATE ${HarfBuzz_LIBRARY})
|
||||||
|
target_include_directories(freetype PRIVATE ${HarfBuzz_INCLUDE_DIRS})
|
||||||
|
list(APPEND PKGCONFIG_REQUIRES_PRIVATE "harfbuzz >= ${HARFBUZZ_MIN_VERSION}")
|
||||||
|
endif ()
|
||||||
|
if (BROTLIDEC_FOUND)
|
||||||
|
target_link_libraries(freetype PRIVATE ${BROTLIDEC_LIBRARIES})
|
||||||
|
target_compile_definitions(freetype PRIVATE ${BROTLIDEC_DEFINITIONS})
|
||||||
|
target_include_directories(freetype PRIVATE ${BROTLIDEC_INCLUDE_DIRS})
|
||||||
|
list(APPEND PKGCONFIG_REQUIRES_PRIVATE "libbrotlidec")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
|
# Installation
|
||||||
|
include(GNUInstallDirs)
|
||||||
|
|
||||||
|
if (NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL)
|
||||||
|
install(
|
||||||
|
# Note the trailing slash in the argument to `DIRECTORY'!
|
||||||
|
DIRECTORY ${PROJECT_SOURCE_DIR}/include/
|
||||||
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2
|
||||||
|
COMPONENT headers
|
||||||
|
PATTERN "internal" EXCLUDE
|
||||||
|
PATTERN "ftconfig.h" EXCLUDE
|
||||||
|
PATTERN "ftoption.h" EXCLUDE)
|
||||||
|
install(
|
||||||
|
FILES ${PROJECT_BINARY_DIR}/include/freetype/config/ftconfig.h
|
||||||
|
${PROJECT_BINARY_DIR}/include/freetype/config/ftoption.h
|
||||||
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/freetype2/freetype/config
|
||||||
|
COMPONENT headers)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
|
||||||
|
# Generate the pkg-config file
|
||||||
|
file(READ "${PROJECT_SOURCE_DIR}/builds/unix/freetype2.in" FREETYPE2_PC_IN)
|
||||||
|
|
||||||
|
string(REPLACE ";" ", " PKGCONFIG_REQUIRES_PRIVATE "${PKGCONFIG_REQUIRES_PRIVATE}")
|
||||||
|
|
||||||
|
string(REPLACE "%prefix%" ${CMAKE_INSTALL_PREFIX}
|
||||||
|
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
|
||||||
|
string(REPLACE "%exec_prefix%" "\${prefix}"
|
||||||
|
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
|
||||||
|
string(REPLACE "%libdir%" "\${prefix}/${CMAKE_INSTALL_LIBDIR}"
|
||||||
|
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
|
||||||
|
string(REPLACE "%includedir%" "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}"
|
||||||
|
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
|
||||||
|
string(REPLACE "%ft_version%" "${LIBTOOL_CURRENT}.${LIBTOOL_REVISION}.${LIBTOOL_AGE}"
|
||||||
|
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
|
||||||
|
|
||||||
|
if (BUILD_SHARED_LIBS)
|
||||||
|
string(REPLACE "%PKGCONFIG_REQUIRES%" "${PKGCONFIG_REQUIRES}"
|
||||||
|
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
|
||||||
|
string(REPLACE "%PKGCONFIG_REQUIRES_PRIVATE%" "${PKGCONFIG_REQUIRES_PRIVATE}"
|
||||||
|
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
|
||||||
|
string(REPLACE "%PKGCONFIG_LIBS%" "${PKGCONFIG_LIBS}"
|
||||||
|
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
|
||||||
|
string(REPLACE "%PKGCONFIG_LIBS_PRIVATE%" "${PKGCONFIG_LIBS_PRIVATE}"
|
||||||
|
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
|
||||||
|
else ()
|
||||||
|
string(REPLACE "%PKGCONFIG_REQUIRES%" "${PKGCONFIG_REQUIRES} ${PKGCONFIG_REQUIRES_PRIVATE}"
|
||||||
|
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
|
||||||
|
string(REPLACE "%PKGCONFIG_REQUIRES_PRIVATE%" ""
|
||||||
|
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
|
||||||
|
string(REPLACE "%PKGCONFIG_LIBS%" "${PKGCONFIG_LIBS} ${PKGCONFIG_LIBS_PRIVATE}"
|
||||||
|
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
|
||||||
|
string(REPLACE "%PKGCONFIG_LIBS_PRIVATE%" ""
|
||||||
|
FREETYPE2_PC_IN ${FREETYPE2_PC_IN})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
set(FREETYPE2_PC_IN_NAME "${PROJECT_BINARY_DIR}/freetype2.pc")
|
||||||
|
if (EXISTS "${FREETYPE2_PC_IN_NAME}")
|
||||||
|
file(READ "${FREETYPE2_PC_IN_NAME}" ORIGINAL_FREETYPE2_PC_IN)
|
||||||
|
else ()
|
||||||
|
set(ORIGINAL_FREETYPE2_PC_IN "")
|
||||||
|
endif ()
|
||||||
|
if (NOT (ORIGINAL_FREETYPE2_PC_IN STREQUAL FREETYPE2_PC_IN))
|
||||||
|
file(WRITE "${FREETYPE2_PC_IN_NAME}" ${FREETYPE2_PC_IN})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
install(
|
||||||
|
FILES ${PROJECT_BINARY_DIR}/freetype2.pc
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
|
||||||
|
COMPONENT pkgconfig)
|
||||||
|
|
||||||
|
include(CMakePackageConfigHelpers)
|
||||||
|
write_basic_package_version_file(
|
||||||
|
${PROJECT_BINARY_DIR}/freetype-config-version.cmake
|
||||||
|
VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}
|
||||||
|
COMPATIBILITY SameMajorVersion)
|
||||||
|
|
||||||
|
install(
|
||||||
|
TARGETS freetype freetype-interface
|
||||||
|
EXPORT freetype-targets
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
FRAMEWORK DESTINATION Library/Frameworks
|
||||||
|
COMPONENT libraries)
|
||||||
|
install(
|
||||||
|
EXPORT freetype-targets
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype
|
||||||
|
FILE freetype-config.cmake
|
||||||
|
COMPONENT headers)
|
||||||
|
install(
|
||||||
|
FILES ${PROJECT_BINARY_DIR}/freetype-config-version.cmake
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/freetype
|
||||||
|
COMPONENT headers)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
|
# Packaging
|
||||||
|
set(CPACK_PACKAGE_NAME ${CMAKE_PROJECT_NAME})
|
||||||
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "The FreeType font rendering library.")
|
||||||
|
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
|
||||||
|
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.TXT")
|
||||||
|
|
||||||
|
set(CPACK_PACKAGE_VERSION_MAJOR ${VERSION_MAJOR})
|
||||||
|
set(CPACK_PACKAGE_VERSION_MINOR ${VERSION_MINOR})
|
||||||
|
set(CPACK_PACKAGE_VERSION_PATCH ${VERSION_PATCH})
|
||||||
|
set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
|
||||||
|
|
||||||
|
if (WIN32)
|
||||||
|
set(CPACK_GENERATOR ZIP)
|
||||||
|
else ()
|
||||||
|
set(CPACK_GENERATOR TGZ)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
set(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries")
|
||||||
|
set(CPACK_COMPONENT_HEADERS_DISPLAY_NAME "C/C++ Headers")
|
||||||
|
set(CPACK_COMPONENT_LIBRARIES_DESCRIPTION
|
||||||
|
"Library used to build programs which use FreeType")
|
||||||
|
set(CPACK_COMPONENT_HEADERS_DESCRIPTION
|
||||||
|
"C/C++ header files for use with FreeType")
|
||||||
|
set(CPACK_COMPONENT_HEADERS_DEPENDS libraries)
|
||||||
|
set(CPACK_COMPONENT_LIBRARIES_GROUP "Development")
|
||||||
|
set(CPACK_COMPONENT_HEADERS_GROUP "Development")
|
||||||
|
|
||||||
|
include(CPack)
|
46
LVGL Simulator/LvglPlatform/freetype/LICENSE.TXT
Normal file
46
LVGL Simulator/LvglPlatform/freetype/LICENSE.TXT
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
FREETYPE LICENSES
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
The FreeType 2 font engine is copyrighted work and cannot be used
|
||||||
|
legally without a software license. In order to make this project
|
||||||
|
usable to a vast majority of developers, we distribute it under two
|
||||||
|
mutually exclusive open-source licenses.
|
||||||
|
|
||||||
|
This means that *you* must choose *one* of the two licenses described
|
||||||
|
below, then obey all its terms and conditions when using FreeType 2 in
|
||||||
|
any of your projects or products.
|
||||||
|
|
||||||
|
- The FreeType License, found in the file `docs/FTL.TXT`, which is
|
||||||
|
similar to the original BSD license *with* an advertising clause
|
||||||
|
that forces you to explicitly cite the FreeType project in your
|
||||||
|
product's documentation. All details are in the license file.
|
||||||
|
This license is suited to products which don't use the GNU General
|
||||||
|
Public License.
|
||||||
|
|
||||||
|
Note that this license is compatible to the GNU General Public
|
||||||
|
License version 3, but not version 2.
|
||||||
|
|
||||||
|
- The GNU General Public License version 2, found in
|
||||||
|
`docs/GPLv2.TXT` (any later version can be used also), for
|
||||||
|
programs which already use the GPL. Note that the FTL is
|
||||||
|
incompatible with GPLv2 due to its advertisement clause.
|
||||||
|
|
||||||
|
The contributed BDF and PCF drivers come with a license similar to
|
||||||
|
that of the X Window System. It is compatible to the above two
|
||||||
|
licenses (see files `src/bdf/README` and `src/pcf/README`). The same
|
||||||
|
holds for the source code files `src/base/fthash.c` and
|
||||||
|
`include/freetype/internal/fthash.h`; they were part of the BDF driver
|
||||||
|
in earlier FreeType versions.
|
||||||
|
|
||||||
|
The gzip module uses the zlib license (see `src/gzip/zlib.h`) which
|
||||||
|
too is compatible to the above two licenses.
|
||||||
|
|
||||||
|
The files `src/autofit/ft-hb.c` and `src/autofit/ft-hb.h` contain code
|
||||||
|
taken almost verbatim from the HarfBuzz file `hb-ft.cc`, which uses
|
||||||
|
the 'Old MIT' license, compatible to the above two licenses.
|
||||||
|
|
||||||
|
The MD5 checksum support (only used for debugging in development
|
||||||
|
builds) is in the public domain.
|
||||||
|
|
||||||
|
|
||||||
|
--- end of LICENSE.TXT ---
|
34
LVGL Simulator/LvglPlatform/freetype/Makefile
Normal file
34
LVGL Simulator/LvglPlatform/freetype/Makefile
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 build system -- top-level Makefile
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# Project names
|
||||||
|
#
|
||||||
|
PROJECT := freetype
|
||||||
|
PROJECT_TITLE := FreeType
|
||||||
|
|
||||||
|
# The variable TOP_DIR holds the path to the topmost directory in the project
|
||||||
|
# engine source hierarchy. If it is not defined, default it to `.'.
|
||||||
|
#
|
||||||
|
TOP_DIR ?= .
|
||||||
|
|
||||||
|
# The variable OBJ_DIR gives the location where object files and the
|
||||||
|
# FreeType library are built.
|
||||||
|
#
|
||||||
|
OBJ_DIR ?= $(TOP_DIR)/objs
|
||||||
|
|
||||||
|
|
||||||
|
include $(TOP_DIR)/builds/toplevel.mk
|
||||||
|
|
||||||
|
# EOF
|
107
LVGL Simulator/LvglPlatform/freetype/README
Normal file
107
LVGL Simulator/LvglPlatform/freetype/README
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
FreeType 2.12.1
|
||||||
|
===============
|
||||||
|
|
||||||
|
Homepage: https://www.freetype.org
|
||||||
|
|
||||||
|
FreeType is a freely available software library to render fonts.
|
||||||
|
|
||||||
|
It is written in C, designed to be small, efficient, highly
|
||||||
|
customizable, and portable while capable of producing high-quality
|
||||||
|
output (glyph images) of most vector and bitmap font formats.
|
||||||
|
|
||||||
|
Please read the `docs/CHANGES` file, it contains IMPORTANT
|
||||||
|
INFORMATION.
|
||||||
|
|
||||||
|
Read the files `docs/INSTALL*` for installation instructions; see the
|
||||||
|
file `docs/LICENSE.TXT` for the available licenses.
|
||||||
|
|
||||||
|
For using FreeType's git repository instead of a distribution bundle,
|
||||||
|
please read file `README.git`. Note that you have to actually clone
|
||||||
|
the repository; using a snapshot will not work (in other words, don't
|
||||||
|
use gitlab's 'Download' button).
|
||||||
|
|
||||||
|
The FreeType 2 API reference is located in directory `docs/reference`;
|
||||||
|
use the file `index.html` as the top entry point. [Please note that
|
||||||
|
currently the search function for locally installed documentation
|
||||||
|
doesn't work due to cross-site scripting issues.]
|
||||||
|
|
||||||
|
Additional documentation is available as a separate package from our
|
||||||
|
sites. Go to
|
||||||
|
|
||||||
|
https://download.savannah.gnu.org/releases/freetype/
|
||||||
|
|
||||||
|
and download one of the following files.
|
||||||
|
|
||||||
|
freetype-doc-2.12.1.tar.xz
|
||||||
|
freetype-doc-2.12.1.tar.gz
|
||||||
|
ftdoc2121.zip
|
||||||
|
|
||||||
|
To view the documentation online, go to
|
||||||
|
|
||||||
|
https://www.freetype.org/freetype2/docs/
|
||||||
|
|
||||||
|
|
||||||
|
Mailing Lists
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The preferred way of communication with the FreeType team is using
|
||||||
|
e-mail lists.
|
||||||
|
|
||||||
|
general use and discussion: freetype@nongnu.org
|
||||||
|
engine internals, porting, etc.: freetype-devel@nongnu.org
|
||||||
|
announcements: freetype-announce@nongnu.org
|
||||||
|
git repository tracker: freetype-commit@nongnu.org
|
||||||
|
|
||||||
|
The lists are moderated; see
|
||||||
|
|
||||||
|
https://www.freetype.org/contact.html
|
||||||
|
|
||||||
|
how to subscribe.
|
||||||
|
|
||||||
|
|
||||||
|
Bugs
|
||||||
|
----
|
||||||
|
|
||||||
|
Please submit bug reports at
|
||||||
|
|
||||||
|
https://gitlab.freedesktop.org/freetype/freetype/-/issues
|
||||||
|
|
||||||
|
Alternatively, you might report bugs by e-mail to
|
||||||
|
`freetype-devel@nongnu.org`. Don't forget to send a detailed
|
||||||
|
explanation of the problem -- there is nothing worse than receiving a
|
||||||
|
terse message that only says 'it doesn't work'.
|
||||||
|
|
||||||
|
|
||||||
|
Patches
|
||||||
|
-------
|
||||||
|
|
||||||
|
For larger changes please provide merge requests at
|
||||||
|
|
||||||
|
https://gitlab.freedesktop.org/freetype/freetype/-/merge_requests
|
||||||
|
|
||||||
|
Alternatively, you can send patches to the `freetype-devel@nongnu.org`
|
||||||
|
mailing list -- and thank you in advance for your work on improving
|
||||||
|
FreeType!
|
||||||
|
|
||||||
|
Details on the process can be found here:
|
||||||
|
|
||||||
|
https://www.freetype.org/developer.html#patches
|
||||||
|
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
|
|
||||||
|
The FreeType Team
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Copyright (C) 2006-2022 by
|
||||||
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
|
||||||
|
This file is part of the FreeType project, and may only be used,
|
||||||
|
modified, and distributed under the terms of the FreeType project
|
||||||
|
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||||
|
this file you indicate that you have read the license and understand
|
||||||
|
and accept it fully.
|
||||||
|
|
||||||
|
|
||||||
|
--- end of README ---
|
102
LVGL Simulator/LvglPlatform/freetype/README.git
Normal file
102
LVGL Simulator/LvglPlatform/freetype/README.git
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
README.git
|
||||||
|
==========
|
||||||
|
|
||||||
|
|
||||||
|
repository issues
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
FreeType's official repository site is
|
||||||
|
|
||||||
|
https://gitlab.freedesktop.org/freetype ,
|
||||||
|
|
||||||
|
from which the 'freetype.git' and 'freetype-demos.git' repositories
|
||||||
|
can be cloned in the usual way.
|
||||||
|
|
||||||
|
git clone https://gitlab.freedesktop.org/freetype/freetype.git
|
||||||
|
git clone https://gitlab.freedesktop.org/freetype/freetype-demos.git
|
||||||
|
|
||||||
|
If you want to use the Savannah mirror instead, you have to do a
|
||||||
|
slightly different incantation because the repository names contain
|
||||||
|
digit '2' for historical reasons.
|
||||||
|
|
||||||
|
git clone \
|
||||||
|
https://git.savannah.nongnu.org/git/freetype/freetype2.git \
|
||||||
|
freetype
|
||||||
|
git clone \
|
||||||
|
https://git.savannah.nongnu.org/git/freetype/freetype2-demos.git \
|
||||||
|
freetype-demos
|
||||||
|
|
||||||
|
|
||||||
|
standard builds with `configure`
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
The git repository doesn't contain pre-built configuration scripts for
|
||||||
|
UNIXish platforms. To generate them say
|
||||||
|
|
||||||
|
sh autogen.sh
|
||||||
|
|
||||||
|
which in turn depends on the following packages:
|
||||||
|
|
||||||
|
automake (1.10.1)
|
||||||
|
libtool (2.2.4)
|
||||||
|
autoconf (2.62)
|
||||||
|
|
||||||
|
The versions given in parentheses are known to work. Newer versions
|
||||||
|
should work too, of course. Note that `autogen.sh` also sets up
|
||||||
|
proper file permissions for the `configure` and auxiliary scripts.
|
||||||
|
|
||||||
|
The `autogen.sh` script checks whether the versions of the above three
|
||||||
|
tools match the numbers above. Otherwise it will complain and suggest
|
||||||
|
either upgrading or using environment variables to point to more
|
||||||
|
recent versions of the required tools.
|
||||||
|
|
||||||
|
Note that `aclocal` is provided by the 'automake' package on Linux,
|
||||||
|
and that `libtoolize` is called `glibtoolize` on Darwin (OS X).
|
||||||
|
|
||||||
|
|
||||||
|
alternative build methods
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
For static builds that don't use platform-specific optimizations, no
|
||||||
|
configure script is necessary at all; saying
|
||||||
|
|
||||||
|
make setup ansi
|
||||||
|
make
|
||||||
|
|
||||||
|
should work on all platforms that have GNU `make` (or `makepp`).
|
||||||
|
|
||||||
|
A build with `cmake` or `meson` can be done directly from the git
|
||||||
|
repository. However, if you want to use the `FT_DEBUG_LOGGING` macro
|
||||||
|
(see file `docs/DEBUG` for more information) it is currently mandatory
|
||||||
|
to execute `autogen.sh` in advance; this script clones the 'dlg' git
|
||||||
|
submodule and copies some files into FreeType's source tree.
|
||||||
|
|
||||||
|
|
||||||
|
Code of Conduct
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Please note that this project is released with a Contributor Code of
|
||||||
|
Conduct (CoC). By participating in this project you agree to abide by
|
||||||
|
its terms, which you can find in the following link:
|
||||||
|
|
||||||
|
https://www.freedesktop.org/wiki/CodeOfConduct
|
||||||
|
|
||||||
|
CoC issues may be raised to the project maintainers at the following
|
||||||
|
address:
|
||||||
|
|
||||||
|
wl@gnu.org
|
||||||
|
apodtele@gmail.com
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Copyright (C) 2005-2022 by
|
||||||
|
David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
|
||||||
|
This file is part of the FreeType project, and may only be used,
|
||||||
|
modified, and distributed under the terms of the FreeType project
|
||||||
|
license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||||
|
this file you indicate that you have read the license and understand
|
||||||
|
and accept it fully.
|
||||||
|
|
||||||
|
|
||||||
|
--- end of README.git ---
|
200
LVGL Simulator/LvglPlatform/freetype/autogen.sh
Normal file
200
LVGL Simulator/LvglPlatform/freetype/autogen.sh
Normal file
|
@ -0,0 +1,200 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright (C) 2005-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
run ()
|
||||||
|
{
|
||||||
|
echo "running \`$*'"
|
||||||
|
eval $*
|
||||||
|
|
||||||
|
if test $? != 0 ; then
|
||||||
|
echo "error while running \`$*'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
get_major_version ()
|
||||||
|
{
|
||||||
|
echo $1 | sed -e 's/\([0-9][0-9]*\)\..*/\1/g'
|
||||||
|
}
|
||||||
|
|
||||||
|
get_minor_version ()
|
||||||
|
{
|
||||||
|
echo $1 | sed -e 's/[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/g'
|
||||||
|
}
|
||||||
|
|
||||||
|
get_patch_version ()
|
||||||
|
{
|
||||||
|
# tricky: some version numbers don't include a patch
|
||||||
|
# separated with a point, but something like 1.4-p6
|
||||||
|
patch=`echo $1 | sed -e 's/[0-9][0-9]*\.[0-9][0-9]*\.\([0-9][0-9]*\).*/\1/g'`
|
||||||
|
if test "$patch" = "$1"; then
|
||||||
|
patch=`echo $1 | sed -e 's/[0-9][0-9]*\.[0-9][0-9]*\-p\([0-9][0-9]*\).*/\1/g'`
|
||||||
|
# if there isn't any patch number, default to 0
|
||||||
|
if test "$patch" = "$1"; then
|
||||||
|
patch=0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo $patch
|
||||||
|
}
|
||||||
|
|
||||||
|
# $1: version to check
|
||||||
|
# $2: minimum version
|
||||||
|
|
||||||
|
compare_to_minimum_version ()
|
||||||
|
{
|
||||||
|
MAJOR1=`get_major_version $1`
|
||||||
|
MAJOR2=`get_major_version $2`
|
||||||
|
if test $MAJOR1 -lt $MAJOR2; then
|
||||||
|
echo 0
|
||||||
|
return
|
||||||
|
else
|
||||||
|
if test $MAJOR1 -gt $MAJOR2; then
|
||||||
|
echo 1
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
MINOR1=`get_minor_version $1`
|
||||||
|
MINOR2=`get_minor_version $2`
|
||||||
|
if test $MINOR1 -lt $MINOR2; then
|
||||||
|
echo 0
|
||||||
|
return
|
||||||
|
else
|
||||||
|
if test $MINOR1 -gt $MINOR2; then
|
||||||
|
echo 1
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
PATCH1=`get_patch_version $1`
|
||||||
|
PATCH2=`get_patch_version $2`
|
||||||
|
if test $PATCH1 -lt $PATCH2; then
|
||||||
|
echo 0
|
||||||
|
else
|
||||||
|
echo 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# check the version of a given tool against a minimum version number
|
||||||
|
#
|
||||||
|
# $1: tool path
|
||||||
|
# $2: tool usual name (e.g. `aclocal')
|
||||||
|
# $3: tool variable (e.g. `ACLOCAL')
|
||||||
|
# $4: minimum version to check against
|
||||||
|
# $5: option field index used to extract the tool version from the
|
||||||
|
# output of --version
|
||||||
|
|
||||||
|
check_tool_version ()
|
||||||
|
{
|
||||||
|
field=$5
|
||||||
|
# assume the output of "[TOOL] --version" is "toolname (GNU toolname foo bar) version"
|
||||||
|
if test "$field"x = x; then
|
||||||
|
field=3 # default to 3 for all GNU autotools, after filtering enclosed string
|
||||||
|
fi
|
||||||
|
version=`$1 --version | head -1 | sed 's/([^)]*)/()/g' | cut -d ' ' -f $field`
|
||||||
|
version_check=`compare_to_minimum_version $version $4`
|
||||||
|
if test "$version_check"x = 0x; then
|
||||||
|
echo "ERROR: Your version of the \`$2' tool is too old."
|
||||||
|
echo " Minimum version $4 is required (yours is version $version)."
|
||||||
|
echo " Please upgrade or use the $3 variable to point to a more recent one."
|
||||||
|
echo ""
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Solaris 10's shell doesn't like the `!` operator to negate the exit status.
|
||||||
|
if test -f ./builds/unix/configure.raw; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
echo "You must be in the same directory as \`autogen.sh'."
|
||||||
|
echo "Bootstrapping doesn't work if srcdir != builddir."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# On MacOS X, the GNU libtool is named `glibtool'.
|
||||||
|
HOSTOS=`uname`
|
||||||
|
if test "$LIBTOOLIZE"x != x; then
|
||||||
|
:
|
||||||
|
elif test "$HOSTOS"x = Darwinx; then
|
||||||
|
LIBTOOLIZE=glibtoolize
|
||||||
|
else
|
||||||
|
LIBTOOLIZE=libtoolize
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$ACLOCAL"x = x; then
|
||||||
|
ACLOCAL=aclocal
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test "$AUTOCONF"x = x; then
|
||||||
|
AUTOCONF=autoconf
|
||||||
|
fi
|
||||||
|
|
||||||
|
check_tool_version $ACLOCAL aclocal ACLOCAL 1.10.1
|
||||||
|
check_tool_version $LIBTOOLIZE libtoolize LIBTOOLIZE 2.2.4
|
||||||
|
check_tool_version $AUTOCONF autoconf AUTOCONF 2.62
|
||||||
|
|
||||||
|
# This sets FREETYPE version.
|
||||||
|
eval `sed -n \
|
||||||
|
-e 's/^#define *\(FREETYPE_MAJOR\) *\([0-9][0-9]*\).*/\1=\2/p' \
|
||||||
|
-e 's/^#define *\(FREETYPE_MINOR\) *\([0-9][0-9]*\).*/\1=\2/p' \
|
||||||
|
-e 's/^#define *\(FREETYPE_PATCH\) *\([0-9][0-9]*\).*/\1=\2/p' \
|
||||||
|
include/freetype/freetype.h`
|
||||||
|
|
||||||
|
if test "$FREETYPE_PATCH" = "0"; then
|
||||||
|
FREETYPE=$FREETYPE_MAJOR.$FREETYPE_MINOR
|
||||||
|
else
|
||||||
|
FREETYPE=$FREETYPE_MAJOR.$FREETYPE_MINOR.$FREETYPE_PATCH
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "FreeType $FREETYPE:"
|
||||||
|
|
||||||
|
cd builds/unix
|
||||||
|
|
||||||
|
echo "generating \`configure.ac'"
|
||||||
|
sed -e "s;@VERSION@;$FREETYPE;" \
|
||||||
|
< configure.raw > configure.ac
|
||||||
|
|
||||||
|
run aclocal -I . --force
|
||||||
|
run $LIBTOOLIZE --force --copy --install
|
||||||
|
run autoconf --force
|
||||||
|
|
||||||
|
chmod +x install-sh
|
||||||
|
|
||||||
|
cd ../..
|
||||||
|
|
||||||
|
chmod +x ./configure
|
||||||
|
|
||||||
|
# Copy all necessary 'dlg' files.
|
||||||
|
copy_submodule_files ()
|
||||||
|
{
|
||||||
|
echo "Copying files from \`subprojects/dlg' to \`src/dlg' and \`include/dlg'"
|
||||||
|
mkdir include/dlg 2> /dev/null
|
||||||
|
cp $DLG_INC_DIR/output.h include/dlg
|
||||||
|
cp $DLG_INC_DIR/dlg.h include/dlg
|
||||||
|
cp $DLG_SRC_DIR/* src/dlg
|
||||||
|
}
|
||||||
|
|
||||||
|
if test -e ".git"; then
|
||||||
|
DLG_INC_DIR=subprojects/dlg/include/dlg
|
||||||
|
DLG_SRC_DIR=subprojects/dlg/src/dlg
|
||||||
|
|
||||||
|
if test -d "$DLG_INC_DIR"; then
|
||||||
|
:
|
||||||
|
else
|
||||||
|
echo "Checking out submodule in \`subprojects/dlg':"
|
||||||
|
git submodule init
|
||||||
|
git submodule update
|
||||||
|
fi
|
||||||
|
|
||||||
|
copy_submodule_files
|
||||||
|
fi
|
||||||
|
|
||||||
|
# EOF
|
110
LVGL Simulator/LvglPlatform/freetype/builds/amiga/README
Normal file
110
LVGL Simulator/LvglPlatform/freetype/builds/amiga/README
Normal file
|
@ -0,0 +1,110 @@
|
||||||
|
|
||||||
|
README for the builds/amiga subdirectory.
|
||||||
|
|
||||||
|
Copyright (C) 2005-2022 by
|
||||||
|
Werner Lemberg and Detlef Würkner.
|
||||||
|
|
||||||
|
This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
and distributed under the terms of the FreeType project license,
|
||||||
|
LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
indicate that you have read the license and understand and accept it
|
||||||
|
fully.
|
||||||
|
|
||||||
|
|
||||||
|
The makefile.os4 is for the AmigaOS4 SDK. To use it, type
|
||||||
|
"make -f makefile.os4", it produces a link library libft2_ppc.a.
|
||||||
|
|
||||||
|
The makefile is for ppc-morphos-gcc-2.95.3-bin.tgz (gcc 2.95.3 hosted on
|
||||||
|
68k-Amiga producing MorphOS-PPC-binaries from http://www.morphos.de).
|
||||||
|
To use it, type "make assign", then "make"; it produces a link library
|
||||||
|
libft2_ppc.a.
|
||||||
|
|
||||||
|
The smakefile is a makefile for Amiga SAS/C 6.58 (no longer available,
|
||||||
|
latest sold version was 6.50, updates can be found in Aminet). It is
|
||||||
|
based on the version found in the sourcecode of ttf.library 0.83b for
|
||||||
|
FreeType 1.3.1 from Richard Griffith (ragriffi@sprynet.com,
|
||||||
|
http://ragriffi.home.sprynet.com).
|
||||||
|
|
||||||
|
You will also need the latest include files and amiga.lib from the
|
||||||
|
Amiga web site (https://os.amigaworld.de/download.php?id=3) for
|
||||||
|
AmigaOS 3.9; the generated code should work under AmigaOS 2.04 and up.
|
||||||
|
|
||||||
|
To use it, call "smake assign" and then "smake" from the builds/amiga
|
||||||
|
directory. The results are:
|
||||||
|
|
||||||
|
- A link library "ft2_680x0.lib" (where x depends on the setting of
|
||||||
|
the CPU entry in the smakefile) containing all FreeType2 parts
|
||||||
|
except of the init code, debugging code, and the system interface
|
||||||
|
code.
|
||||||
|
|
||||||
|
- ftsystem.o, an object module containing the standard version of the
|
||||||
|
system interface code which uses fopen() fclose() fread() fseek()
|
||||||
|
ftell() malloc() realloc() and free() from lib:sc.lib (not pure).
|
||||||
|
|
||||||
|
- ftsystempure.o, an object module containing the pure version of the
|
||||||
|
system interface code which uses Open() Close() Read() Seek()
|
||||||
|
ExamineFH() AsmAllocPooled() AsmFreePooled() etc. This version can
|
||||||
|
be used in both normal programs and in Amiga run-time shared system
|
||||||
|
librarys (can be linked with lib:libinit.o, no copying of DATA and
|
||||||
|
BSS hunks for each OpenLibrary() necessary). Source code is in
|
||||||
|
src/base/ftsystem.c.
|
||||||
|
|
||||||
|
- ftdebug.o, an object module containing the standard version of the
|
||||||
|
debugging code which uses vprintf() and exit() (not pure).
|
||||||
|
Debugging can be turned on in FT:include/freetype/config/ftoption.h
|
||||||
|
and with FT_SetTraceLevel().
|
||||||
|
|
||||||
|
- ftdebugpure.o, an object module containing the pure version of the
|
||||||
|
debugging code which uses KVPrintf() from lib:debug.lib and no
|
||||||
|
exit(). For debugging of Amiga run-time shared system libraries.
|
||||||
|
Source code is in src/base/ftdebug.c.
|
||||||
|
|
||||||
|
- NO ftinit.o. Because linking with a link library should result in
|
||||||
|
linking only the needed object modules in it, but standard
|
||||||
|
ftsystem.o would force ALL FreeType2 modules to be linked to your
|
||||||
|
program, I decided to use a different scheme: You must #include
|
||||||
|
FT:src/base/ftinit.c in your sourcecode and specify with #define
|
||||||
|
statements which modules you need. See
|
||||||
|
include/freetype/config/ftmodule.h.
|
||||||
|
|
||||||
|
|
||||||
|
To use in your own programs:
|
||||||
|
|
||||||
|
- Insert the #define and #include statements from top of
|
||||||
|
include/freetype/config/ftmodule.h in your source code and
|
||||||
|
uncomment the #define statements for the FreeType2 modules you need.
|
||||||
|
|
||||||
|
- You can use either PARAMETERS=REGISTER or PARAMETERS=STACK for
|
||||||
|
calling the FreeType2 functions, because the link library and the
|
||||||
|
object files are compiled with PARAMETERS=BOTH.
|
||||||
|
|
||||||
|
- "smake assign" (assign "FT:" to the FreeType2 main directory).
|
||||||
|
|
||||||
|
- Compile your program.
|
||||||
|
|
||||||
|
- Link with either ftsystem.o or ftsystempure.o, if debugging enabled
|
||||||
|
with either ftdebug.o or (ftdebugpure.o and lib:debug.lib), and with
|
||||||
|
ft2_680x0.lib as link library.
|
||||||
|
|
||||||
|
|
||||||
|
To adapt to other compilers:
|
||||||
|
|
||||||
|
- The standard ANSI C maximum length of 31 significant characters in
|
||||||
|
identifiers is not enough for FreeType2. Check if your compiler has
|
||||||
|
a minimum length of 40 significant characters or can be switched to
|
||||||
|
it. "idlen=40" is the option for SAS/C. Setting #define
|
||||||
|
HAVE_LIMIT_ON_IDENTS in an include file may also work (not tested).
|
||||||
|
|
||||||
|
- Make sure that the include directory in builds/amiga is searched
|
||||||
|
before the normal FreeType2 include directory, so you are able to
|
||||||
|
replace problematic include files with your own version (same may be
|
||||||
|
useful for the src directory).
|
||||||
|
|
||||||
|
- An example of how to replace/workaround a problematic include file
|
||||||
|
is include/freetype/config/ftconfig.h; it changes a #define that
|
||||||
|
would prevent SAS/C from generating XDEF's where it should do that and
|
||||||
|
then includes the standard FreeType2 include file.
|
||||||
|
|
||||||
|
Local Variables:
|
||||||
|
coding: latin-1
|
||||||
|
End:
|
|
@ -0,0 +1,55 @@
|
||||||
|
/***************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* ftconfig.h */
|
||||||
|
/* */
|
||||||
|
/* Amiga-specific configuration file (specification only). */
|
||||||
|
/* */
|
||||||
|
/* Copyright (C) 2005-2022 by */
|
||||||
|
/* Werner Lemberg and Detlef Würkner. */
|
||||||
|
/* */
|
||||||
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
/* modified, and distributed under the terms of the FreeType project */
|
||||||
|
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||||
|
/* this file you indicate that you have read the license and */
|
||||||
|
/* understand and accept it fully. */
|
||||||
|
/* */
|
||||||
|
/***************************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This is an example how to override the default FreeType2 header files
|
||||||
|
* with Amiga-specific changes. When the compiler searches this directory
|
||||||
|
* before the default directory, we can do some modifications.
|
||||||
|
*
|
||||||
|
* Here we must change FT_EXPORT_DEF so that SAS/C does
|
||||||
|
* generate the needed XDEFs.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
#define FT_EXPORT_DEF( x ) extern x
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#undef FT_EXPORT_DEF
|
||||||
|
#define FT_EXPORT_DEF( x ) x
|
||||||
|
|
||||||
|
/* Now include the original file */
|
||||||
|
#ifndef __MORPHOS__
|
||||||
|
#ifdef __SASC
|
||||||
|
#include "FT:include/freetype/config/ftconfig.h"
|
||||||
|
#else
|
||||||
|
#include "/FT/include/freetype/config/ftconfig.h"
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
/* We must define that, it seems that
|
||||||
|
* lib/gcc-lib/ppc-morphos/2.95.3/include/syslimits.h is missing in
|
||||||
|
* ppc-morphos-gcc-2.95.3-bin.tgz (gcc for 68k producing MorphOS PPC elf
|
||||||
|
* binaries from http://www.morphos.de)
|
||||||
|
*/
|
||||||
|
#define _LIBC_LIMITS_H_
|
||||||
|
#include "/FT/include/freetype/config/ftconfig.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
Local Variables:
|
||||||
|
coding: latin-1
|
||||||
|
End:
|
||||||
|
*/
|
|
@ -0,0 +1,158 @@
|
||||||
|
/***************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* ftmodule.h */
|
||||||
|
/* */
|
||||||
|
/* Amiga-specific FreeType module selection. */
|
||||||
|
/* */
|
||||||
|
/* Copyright (C) 2005-2022 by */
|
||||||
|
/* Werner Lemberg and Detlef Würkner. */
|
||||||
|
/* */
|
||||||
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
/* modified, and distributed under the terms of the FreeType project */
|
||||||
|
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||||
|
/* this file you indicate that you have read the license and */
|
||||||
|
/* understand and accept it fully. */
|
||||||
|
/* */
|
||||||
|
/***************************************************************************/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* To avoid that all your programs include all FreeType modules,
|
||||||
|
* you copy the following piece of source code into your own
|
||||||
|
* source file and specify which modules you really need in your
|
||||||
|
* application by uncommenting the appropriate lines.
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
//#define FT_USE_AUTOFIT // autofitter
|
||||||
|
//#define FT_USE_RASTER // monochrome rasterizer
|
||||||
|
//#define FT_USE_SMOOTH // anti-aliasing rasterizer
|
||||||
|
//#define FT_USE_TT // truetype font driver
|
||||||
|
//#define FT_USE_T1 // type1 font driver
|
||||||
|
//#define FT_USE_T42 // type42 font driver
|
||||||
|
//#define FT_USE_T1CID // cid-keyed type1 font driver // no cmap support
|
||||||
|
//#define FT_USE_CFF // opentype font driver
|
||||||
|
//#define FT_USE_BDF // bdf bitmap font driver
|
||||||
|
//#define FT_USE_PCF // pcf bitmap font driver
|
||||||
|
//#define FT_USE_PFR // pfr font driver
|
||||||
|
//#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
|
||||||
|
//#define FT_USE_OTV // opentype validator
|
||||||
|
//#define FT_USE_GXV // truetype gx validator
|
||||||
|
#include "FT:src/base/ftinit.c"
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Make sure that the needed support modules are built in.
|
||||||
|
* Dependencies can be found by searching for FT_Get_Module.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef FT_USE_T42
|
||||||
|
#define FT_USE_TT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_TT
|
||||||
|
#define FT_USE_SFNT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_CFF
|
||||||
|
#define FT_USE_SFNT
|
||||||
|
#define FT_USE_PSHINT
|
||||||
|
#define FT_USE_PSNAMES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_T1
|
||||||
|
#define FT_USE_PSAUX
|
||||||
|
#define FT_USE_PSHINT
|
||||||
|
#define FT_USE_PSNAMES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_T1CID
|
||||||
|
#define FT_USE_PSAUX
|
||||||
|
#define FT_USE_PSHINT
|
||||||
|
#define FT_USE_PSNAMES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_PSAUX
|
||||||
|
#define FT_USE_PSNAMES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_SFNT
|
||||||
|
#define FT_USE_PSNAMES
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Now include the modules */
|
||||||
|
|
||||||
|
#ifdef FT_USE_AUTOFIT
|
||||||
|
FT_USE_MODULE( FT_Module_Class, autofit_module_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_TT
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_T1
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_CFF
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_T1CID
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_PFR
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_T42
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_WINFNT
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_PCF
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_PSAUX
|
||||||
|
FT_USE_MODULE( FT_Module_Class, psaux_module_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_PSNAMES
|
||||||
|
FT_USE_MODULE( FT_Module_Class, psnames_module_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_PSHINT
|
||||||
|
FT_USE_MODULE( FT_Module_Class, pshinter_module_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_RASTER
|
||||||
|
FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_SFNT
|
||||||
|
FT_USE_MODULE( FT_Module_Class, sfnt_module_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_SMOOTH
|
||||||
|
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_OTV
|
||||||
|
FT_USE_MODULE( FT_Module_Class, otv_module_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_BDF
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef FT_USE_GXV
|
||||||
|
FT_USE_MODULE( FT_Module_Class, gxv_module_class )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
Local Variables:
|
||||||
|
coding: latin-1
|
||||||
|
End:
|
||||||
|
*/
|
293
LVGL Simulator/LvglPlatform/freetype/builds/amiga/makefile
Normal file
293
LVGL Simulator/LvglPlatform/freetype/builds/amiga/makefile
Normal file
|
@ -0,0 +1,293 @@
|
||||||
|
#
|
||||||
|
# Makefile for FreeType2 link library using ppc-morphos-gcc-2.95.3-bin.tgz
|
||||||
|
# (gcc 2.95.3 hosted on 68k-Amiga producing MorphOS-PPC-binaries from
|
||||||
|
# http://www.morphos.de)
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 2005-2022 by
|
||||||
|
# Werner Lemberg and Detlef Würkner.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
#
|
||||||
|
# to build from the builds/amiga directory call
|
||||||
|
#
|
||||||
|
# make assign
|
||||||
|
# make
|
||||||
|
#
|
||||||
|
# Your programs source code should start with this
|
||||||
|
# (uncomment the parts you do not need to keep the program small):
|
||||||
|
# ---8<---
|
||||||
|
#define FT_USE_AUTOFIT // autofitter
|
||||||
|
#define FT_USE_RASTER // monochrome rasterizer
|
||||||
|
#define FT_USE_SMOOTH // anti-aliasing rasterizer
|
||||||
|
#define FT_USE_TT // truetype font driver
|
||||||
|
#define FT_USE_T1 // type1 font driver
|
||||||
|
#define FT_USE_T42 // type42 font driver
|
||||||
|
#define FT_USE_T1CID // cid-keyed type1 font driver
|
||||||
|
#define FT_USE_CFF // opentype font driver
|
||||||
|
#define FT_USE_BDF // bdf bitmap font driver
|
||||||
|
#define FT_USE_PCF // pcf bitmap font driver
|
||||||
|
#define FT_USE_PFR // pfr font driver
|
||||||
|
#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
|
||||||
|
#define FT_USE_OTV // opentype validator
|
||||||
|
#define FT_USE_GXV // truetype gx validator
|
||||||
|
#include "FT:src/base/ftinit.c"
|
||||||
|
# ---8<---
|
||||||
|
#
|
||||||
|
# link your programs with libft2_ppc.a and either ftsystem.ppc.o or ftsystempure.ppc.o
|
||||||
|
# (and either ftdebug.ppc.o or ftdebugpure.ppc.o if you enabled FT_DEBUG_LEVEL_ERROR or
|
||||||
|
# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
|
||||||
|
|
||||||
|
all: libft2_ppc.a ftsystem.ppc.o ftsystempure.ppc.o
|
||||||
|
|
||||||
|
assign:
|
||||||
|
assign FT: //
|
||||||
|
|
||||||
|
FTSRC = /FT/src
|
||||||
|
|
||||||
|
CC = ppc-morphos-gcc
|
||||||
|
AR = ppc-morphos-ar rc
|
||||||
|
RANLIB = ppc-morphos-ranlib
|
||||||
|
LD = ppc-morphos-ld
|
||||||
|
CFLAGS = -DFT2_BUILD_LIBRARY -O2 -I/emu/emulinclude/includegcc -I/emu/include -Iinclude -I$(FTSRC) -I/FT/include
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library base
|
||||||
|
#
|
||||||
|
ftbase.ppc.o: $(FTSRC)/base/ftbase.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftinit.ppc.o: $(FTSRC)/base/ftinit.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftsystem.ppc.o: $(FTSRC)/base/ftsystem.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
# pure version for use in run-time library etc
|
||||||
|
ftsystempure.ppc.o: src/base/ftsystem.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftdebug.ppc.o: $(FTSRC)/base/ftdebug.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
# pure version for use in run-time library etc
|
||||||
|
ftdebugpure.ppc.o: src/base/ftdebug.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library base extensions
|
||||||
|
#
|
||||||
|
ftbbox.ppc.o: $(FTSRC)/base/ftbbox.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftbdf.ppc.o: $(FTSRC)/base/ftbdf.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftbitmap.ppc.o: $(FTSRC)/base/ftbitmap.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftcid.ppc.o: $(FTSRC)/base/ftcid.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftfstype.ppc.o: $(FTSRC)/base/ftfstype.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftgasp.ppc.o: $(FTSRC)/base/ftgasp.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftglyph.ppc.o: $(FTSRC)/base/ftglyph.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftgxval.ppc.o: $(FTSRC)/base/ftgxval.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftmm.ppc.o: $(FTSRC)/base/ftmm.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftotval.ppc.o: $(FTSRC)/base/ftotval.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftpatent.ppc.o: $(FTSRC)/base/ftpatent.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftpfr.ppc.o: $(FTSRC)/base/ftpfr.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftstroke.ppc.o: $(FTSRC)/base/ftstroke.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftsynth.ppc.o: $(FTSRC)/base/ftsynth.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
fttype1.ppc.o: $(FTSRC)/base/fttype1.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
ftwinfnt.ppc.o: $(FTSRC)/base/ftwinfnt.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library autofitting module
|
||||||
|
#
|
||||||
|
autofit.ppc.o: $(FTSRC)/autofit/autofit.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library postscript hinting module
|
||||||
|
#
|
||||||
|
pshinter.ppc.o: $(FTSRC)/pshinter/pshinter.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library PS support module
|
||||||
|
#
|
||||||
|
psaux.ppc.o: $(FTSRC)/psaux/psaux.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library PS glyph names module
|
||||||
|
#
|
||||||
|
psnames.ppc.o: $(FTSRC)/psnames/psnames.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library monochrome raster module
|
||||||
|
#
|
||||||
|
raster.ppc.o: $(FTSRC)/raster/raster.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library anti-aliasing raster module
|
||||||
|
#
|
||||||
|
smooth.ppc.o: $(FTSRC)/smooth/smooth.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library 'sfnt' module
|
||||||
|
#
|
||||||
|
sfnt.ppc.o: $(FTSRC)/sfnt/sfnt.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library glyph and image caching system
|
||||||
|
#
|
||||||
|
ftcache.ppc.o: $(FTSRC)/cache/ftcache.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library OpenType font driver
|
||||||
|
#
|
||||||
|
cff.ppc.o: $(FTSRC)/cff/cff.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library TrueType font driver
|
||||||
|
#
|
||||||
|
truetype.ppc.o: $(FTSRC)/truetype/truetype.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library Type1 font driver
|
||||||
|
#
|
||||||
|
type1.ppc.o: $(FTSRC)/type1/type1.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library Type42 font driver
|
||||||
|
#
|
||||||
|
type42.ppc.o: $(FTSRC)/type42/type42.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library CID-keyed Type1 font driver
|
||||||
|
#
|
||||||
|
type1cid.ppc.o: $(FTSRC)/cid/type1cid.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library BDF bitmap font driver
|
||||||
|
#
|
||||||
|
bdf.ppc.o: $(FTSRC)/bdf/bdf.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library PCF bitmap font driver
|
||||||
|
#
|
||||||
|
pcf.ppc.o: $(FTSRC)/pcf/pcf.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library gzip support for compressed PCF bitmap fonts
|
||||||
|
#
|
||||||
|
gzip.ppc.o: $(FTSRC)/gzip/ftgzip.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
# FreeType2 library bzip2 support for compressed PCF bitmap fonts
|
||||||
|
#
|
||||||
|
bzip2.ppc.o: $(FTSRC)/bzip2/ftbzip2.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library compress support for compressed PCF bitmap fonts
|
||||||
|
#
|
||||||
|
lzw.ppc.o: $(FTSRC)/lzw/ftlzw.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library PFR font driver
|
||||||
|
#
|
||||||
|
pfr.ppc.o: $(FTSRC)/pfr/pfr.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library Windows FNT/FON bitmap font driver
|
||||||
|
#
|
||||||
|
winfnt.ppc.o: $(FTSRC)/winfonts/winfnt.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library TrueTypeGX Validator
|
||||||
|
#
|
||||||
|
gxvalid.ppc.o: $(FTSRC)/gxvalid/gxvalid.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library OpenType validator
|
||||||
|
#
|
||||||
|
otvalid.ppc.o: $(FTSRC)/otvalid/otvalid.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ $<
|
||||||
|
|
||||||
|
BASEPPC = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftcid.ppc.o \
|
||||||
|
oftfstype.ppc.o ftgasp.ppc.o ftglyph.ppc.o \
|
||||||
|
ftgxval.ppc.o ftmm.ppc.o ftotval.ppc.o \
|
||||||
|
ftpatent.ppc.o ftpfr.ppc.o ftstroke.ppc.o ftsynth.ppc.o \
|
||||||
|
fttype1.ppc.o ftwinfnt.ppc.o
|
||||||
|
|
||||||
|
DEBUGPPC = ftdebug.ppc.o ftdebugpure.ppc.o
|
||||||
|
|
||||||
|
AFITPPC = autofit.ppc.o
|
||||||
|
|
||||||
|
GXVPPC = gxvalid.ppc.o
|
||||||
|
|
||||||
|
OTVPPC = otvalid.ppc.o
|
||||||
|
|
||||||
|
PSPPC = psaux.ppc.o psnames.ppc.o pshinter.ppc.o
|
||||||
|
|
||||||
|
RASTERPPC = raster.ppc.o smooth.ppc.o
|
||||||
|
|
||||||
|
FONTDPPC = cff.ppc.o type1.ppc.o type42.ppc.o type1cid.ppc.o truetype.ppc.o\
|
||||||
|
bdf.ppc.o pcf.ppc.o pfr.ppc.o winfnt.ppc.o
|
||||||
|
|
||||||
|
libft2_ppc.a: $(BASEPPC) $(AFITPPC) $(GXVPPC) $(OTVPPC) $(PSPPC) $(RASTERPPC) sfnt.ppc.o ftcache.ppc.o $(FONTDPPC) gzip.ppc.o bzip2.ppc.o lzw.ppc.o
|
||||||
|
$(AR) $@ $(BASEPPC) $(AFITPPC) $(GXVPPC) $(OTVPPC) $(PSPPC) $(RASTERPPC) sfnt.ppc.o ftcache.ppc.o $(FONTDPPC) gzip.ppc.o bzip2.ppc.o lzw.ppc.o
|
||||||
|
-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
|
||||||
|
|
||||||
|
#Local Variables:
|
||||||
|
#coding: latin-1
|
||||||
|
#End:
|
297
LVGL Simulator/LvglPlatform/freetype/builds/amiga/makefile.os4
Normal file
297
LVGL Simulator/LvglPlatform/freetype/builds/amiga/makefile.os4
Normal file
|
@ -0,0 +1,297 @@
|
||||||
|
#
|
||||||
|
# Makefile for FreeType2 link library using gcc 4.0.3 from the
|
||||||
|
# AmigaOS4 SDK
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 2005-2022 by
|
||||||
|
# Werner Lemberg and Detlef Würkner.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# to build from the builds/amiga directory call
|
||||||
|
#
|
||||||
|
# make -f makefile.os4
|
||||||
|
#
|
||||||
|
# Your programs source code should start with this
|
||||||
|
# (uncomment the parts you do not need to keep the program small):
|
||||||
|
# ---8<---
|
||||||
|
#define FT_USE_AUTOFIT // autofitter
|
||||||
|
#define FT_USE_RASTER // monochrome rasterizer
|
||||||
|
#define FT_USE_SMOOTH // anti-aliasing rasterizer
|
||||||
|
#define FT_USE_TT // truetype font driver
|
||||||
|
#define FT_USE_T1 // type1 font driver
|
||||||
|
#define FT_USE_T42 // type42 font driver
|
||||||
|
#define FT_USE_T1CID // cid-keyed type1 font driver
|
||||||
|
#define FT_USE_CFF // opentype font driver
|
||||||
|
#define FT_USE_BDF // bdf bitmap font driver
|
||||||
|
#define FT_USE_PCF // pcf bitmap font driver
|
||||||
|
#define FT_USE_PFR // pfr font driver
|
||||||
|
#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
|
||||||
|
#define FT_USE_OTV // opentype validator
|
||||||
|
#define FT_USE_GXV // truetype gx validator
|
||||||
|
#include "FT:src/base/ftinit.c"
|
||||||
|
# ---8<---
|
||||||
|
#
|
||||||
|
# link your programs with libft2_ppc.a and either ftsystem.ppc.o or ftsystempure.ppc.o
|
||||||
|
# (and either ftdebug.ppc.o or ftdebugpure.ppc.o if you enabled FT_DEBUG_LEVEL_ERROR or
|
||||||
|
# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
|
||||||
|
|
||||||
|
all: assign libft2_ppc.a ftsystem.ppc.o ftsystempure.ppc.o
|
||||||
|
|
||||||
|
assign:
|
||||||
|
assign FT: //
|
||||||
|
|
||||||
|
CC = ppc-amigaos-gcc
|
||||||
|
AR = ppc-amigaos-ar
|
||||||
|
RANLIB = ppc-amigaos-ranlib
|
||||||
|
|
||||||
|
DIRFLAGS = -Iinclude -I/FT/src -I/FT/include -I/SDK/include
|
||||||
|
|
||||||
|
WARNINGS = -Wall -W -Wundef -Wpointer-arith -Wbad-function-cast \
|
||||||
|
-Waggregate-return -Wwrite-strings -Wshadow
|
||||||
|
|
||||||
|
OPTIONS = -DFT2_BUILD_LIBRARY -DNDEBUG -fno-builtin
|
||||||
|
OPTIMIZE = -O2 -fomit-frame-pointer -fstrength-reduce -finline-functions
|
||||||
|
|
||||||
|
CFLAGS = -mcrt=clib2 $(DIRFLAGS) $(WARNINGS) $(FT2FLAGS) $(OPTIONS) $(OPTIMIZE)
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library base
|
||||||
|
#
|
||||||
|
ftbase.ppc.o: FT:src/base/ftbase.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbase.c
|
||||||
|
|
||||||
|
ftinit.ppc.o: FT:src/base/ftinit.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftinit.c
|
||||||
|
|
||||||
|
ftsystem.ppc.o: FT:src/base/ftsystem.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsystem.c
|
||||||
|
|
||||||
|
# pure version for use in run-time library etc
|
||||||
|
ftsystempure.ppc.o: src/base/ftsystem.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ src/base/ftsystem.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library base extensions
|
||||||
|
#
|
||||||
|
ftbbox.ppc.o: FT:src/base/ftbbox.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbbox.c
|
||||||
|
|
||||||
|
ftbdf.ppc.o: FT:src/base/ftbdf.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbdf.c
|
||||||
|
|
||||||
|
ftbitmap.ppc.o: FT:src/base/ftbitmap.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbitmap.c
|
||||||
|
|
||||||
|
ftcid.ppc.o: FT:src/base/ftcid.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftcid.c
|
||||||
|
|
||||||
|
ftdebug.ppc.o: FT:src/base/ftdebug.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftdebug.c
|
||||||
|
|
||||||
|
# pure version for use in run-time library etc
|
||||||
|
ftdebugpure.ppc.o: src/base/ftdebug.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ src/base/ftdebug.c
|
||||||
|
|
||||||
|
ftfstype.ppc.o: FT:src/base/ftfstype.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftfstype.c
|
||||||
|
|
||||||
|
ftgasp.ppc.o: FT:src/base/ftgasp.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgasp.c
|
||||||
|
|
||||||
|
ftglyph.ppc.o: FT:src/base/ftglyph.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftglyph.c
|
||||||
|
|
||||||
|
ftgxval.ppc.o: FT:src/base/ftgxval.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgxval.c
|
||||||
|
|
||||||
|
ftmm.ppc.o: FT:src/base/ftmm.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftmm.c
|
||||||
|
|
||||||
|
ftotval.ppc.o: FT:src/base/ftotval.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftotval.c
|
||||||
|
|
||||||
|
ftpatent.ppc.o: FT:src/base/ftpatent.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpatent.c
|
||||||
|
|
||||||
|
ftpfr.ppc.o: FT:src/base/ftpfr.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpfr.c
|
||||||
|
|
||||||
|
ftstroke.ppc.o: FT:src/base/ftstroke.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftstroke.c
|
||||||
|
|
||||||
|
ftsynth.ppc.o: FT:src/base/ftsynth.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftsynth.c
|
||||||
|
|
||||||
|
fttype1.ppc.o: FT:src/base/fttype1.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/fttype1.c
|
||||||
|
|
||||||
|
ftwinfnt.ppc.o: FT:src/base/ftwinfnt.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftwinfnt.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library autofitting module
|
||||||
|
#
|
||||||
|
autofit.ppc.o: FT:src/autofit/autofit.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/autofit/autofit.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library postscript hinting module
|
||||||
|
#
|
||||||
|
pshinter.ppc.o: FT:src/pshinter/pshinter.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/pshinter/pshinter.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library PS support module
|
||||||
|
#
|
||||||
|
psaux.ppc.o: FT:src/psaux/psaux.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/psaux/psaux.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library PS glyph names module
|
||||||
|
#
|
||||||
|
psnames.ppc.o: FT:src/psnames/psnames.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/psnames/psnames.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library monochrome raster module
|
||||||
|
#
|
||||||
|
raster.ppc.o: FT:src/raster/raster.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/raster/raster.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library anti-aliasing raster module
|
||||||
|
#
|
||||||
|
smooth.ppc.o: FT:src/smooth/smooth.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/smooth/smooth.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library 'sfnt' module
|
||||||
|
#
|
||||||
|
sfnt.ppc.o: FT:src/sfnt/sfnt.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/sfnt/sfnt.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library glyph and image caching system
|
||||||
|
#
|
||||||
|
ftcache.ppc.o: FT:src/cache/ftcache.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/cache/ftcache.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library OpenType font driver
|
||||||
|
#
|
||||||
|
cff.ppc.o: FT:src/cff/cff.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/cff/cff.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library TrueType font driver
|
||||||
|
#
|
||||||
|
truetype.ppc.o: FT:src/truetype/truetype.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/truetype/truetype.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library Type1 font driver
|
||||||
|
#
|
||||||
|
type1.ppc.o: FT:src/type1/type1.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/type1/type1.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library Type42 font driver
|
||||||
|
#
|
||||||
|
type42.ppc.o: FT:src/type42/type42.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/type42/type42.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library CID-keyed Type1 font driver
|
||||||
|
#
|
||||||
|
type1cid.ppc.o: FT:src/cid/type1cid.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/cid/type1cid.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library BDF bitmap font driver
|
||||||
|
#
|
||||||
|
bdf.ppc.o: FT:src/bdf/bdf.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/bdf/bdf.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library PCF bitmap font driver
|
||||||
|
#
|
||||||
|
pcf.ppc.o: FT:src/pcf/pcf.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/pcf/pcf.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library gzip support for compressed PCF bitmap fonts
|
||||||
|
#
|
||||||
|
gzip.ppc.o: FT:src/gzip/ftgzip.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/gzip/ftgzip.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library bzip2 support for compressed PCF bitmap fonts
|
||||||
|
#
|
||||||
|
bzip2.ppc.o: FT:src/bzip2/ftbzip2.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/bzip2/ftbzip2.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library compress support for compressed PCF bitmap fonts
|
||||||
|
#
|
||||||
|
lzw.ppc.o: FT:src/lzw/ftlzw.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/lzw/ftlzw.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library PFR font driver
|
||||||
|
#
|
||||||
|
pfr.ppc.o: FT:src/pfr/pfr.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/pfr/pfr.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library Windows FNT/FON bitmap font driver
|
||||||
|
#
|
||||||
|
winfnt.ppc.o: FT:src/winfonts/winfnt.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/winfonts/winfnt.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library TrueTypeGX Validator
|
||||||
|
#
|
||||||
|
gxvalid.ppc.o: FT:src/gxvalid/gxvalid.c
|
||||||
|
$(CC) -c $(CFLAGS) -Wno-aggregate-return -o $@ /FT/src/gxvalid/gxvalid.c
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library OpenType validator
|
||||||
|
#
|
||||||
|
otvalid.ppc.o: FT:src/otvalid/otvalid.c
|
||||||
|
$(CC) -c $(CFLAGS) -o $@ /FT/src/otvalid/otvalid.c
|
||||||
|
|
||||||
|
BASE = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftcid.ppc.o \
|
||||||
|
ftfstype.ppc.o ftgasp.ppc.o ftglyph.ppc.o \
|
||||||
|
ftgxval.ppc.o ftmm.ppc.o ftotval.ppc.o \
|
||||||
|
ftpatent.ppc.o ftpfr.ppc.o ftstroke.ppc.o ftsynth.ppc.o \
|
||||||
|
fttype1.ppc.o ftwinfnt.ppc.o
|
||||||
|
|
||||||
|
DEBUG = ftdebug.ppc.o ftdebugpure.ppc.o
|
||||||
|
|
||||||
|
AFIT = autofit.ppc.o
|
||||||
|
|
||||||
|
GXV = gxvalid.ppc.o
|
||||||
|
|
||||||
|
OTV = otvalid.ppc.o
|
||||||
|
|
||||||
|
PS = psaux.ppc.o psnames.ppc.o pshinter.ppc.o
|
||||||
|
|
||||||
|
RASTER = raster.ppc.o smooth.ppc.o
|
||||||
|
|
||||||
|
FONTD = cff.ppc.o type1.ppc.o type42.ppc.o type1cid.ppc.o truetype.ppc.o\
|
||||||
|
bdf.ppc.o pcf.ppc.o pfr.ppc.o winfnt.ppc.o
|
||||||
|
|
||||||
|
libft2_ppc.a: $(BASE) $(AFIT) $(GXV) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o
|
||||||
|
$(AR) r $@ $(BASE) $(AFIT) $(GXV) $(OTV) $(PS) $(RASTER) sfnt.ppc.o ftcache.ppc.o $(FONTD) gzip.ppc.o lzw.ppc.o
|
||||||
|
$(RANLIB) $@
|
||||||
|
|
||||||
|
#Local Variables:
|
||||||
|
#coding: latin-1
|
||||||
|
#End:
|
299
LVGL Simulator/LvglPlatform/freetype/builds/amiga/smakefile
Normal file
299
LVGL Simulator/LvglPlatform/freetype/builds/amiga/smakefile
Normal file
|
@ -0,0 +1,299 @@
|
||||||
|
#
|
||||||
|
# Makefile for FreeType2 link library using Amiga SAS/C 6.58
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 2005-2022 by
|
||||||
|
# Werner Lemberg and Detlef Würkner.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# to build from the builds/amiga directory call
|
||||||
|
#
|
||||||
|
# smake assign
|
||||||
|
# smake
|
||||||
|
#
|
||||||
|
# Your programs source code should start with this
|
||||||
|
# (uncomment the parts you do not need to keep the program small):
|
||||||
|
# ---8<---
|
||||||
|
#define FT_USE_AUTOFIT // autofitter
|
||||||
|
#define FT_USE_RASTER // monochrome rasterizer
|
||||||
|
#define FT_USE_SMOOTH // anti-aliasing rasterizer
|
||||||
|
#define FT_USE_TT // truetype font driver
|
||||||
|
#define FT_USE_T1 // type1 font driver
|
||||||
|
#define FT_USE_T42 // type42 font driver
|
||||||
|
#define FT_USE_T1CID // cid-keyed type1 font driver
|
||||||
|
#define FT_USE_CFF // opentype font driver
|
||||||
|
#define FT_USE_BDF // bdf bitmap font driver
|
||||||
|
#define FT_USE_PCF // pcf bitmap font driver
|
||||||
|
#define FT_USE_PFR // pfr font driver
|
||||||
|
#define FT_USE_WINFNT // windows .fnt|.fon bitmap font driver
|
||||||
|
#define FT_USE_OTV // opentype validator
|
||||||
|
#define FT_USE_GXV // truetype gx validator
|
||||||
|
#include "FT:src/base/ftinit.c"
|
||||||
|
# ---8<---
|
||||||
|
#
|
||||||
|
# link your programs with ft2_680x0.lib and either ftsystem.o or ftsystempure.o
|
||||||
|
# (and either ftdebug.o or ftdebugpure.o if you enabled FT_DEBUG_LEVEL_ERROR or
|
||||||
|
# FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
|
||||||
|
|
||||||
|
OBJBASE = ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftcid.o ftfstype.o \
|
||||||
|
ftgasp.o ftglyph.o ftgxval.o ftmm.o ftotval.o \
|
||||||
|
ftpatent.o ftpfr.o ftstroke.o ftsynth.o fttype1.o ftwinfnt.o
|
||||||
|
|
||||||
|
OBJSYSTEM = ftsystem.o ftsystempure.o
|
||||||
|
|
||||||
|
OBJDEBUG = ftdebug.o ftdebugpure.o
|
||||||
|
|
||||||
|
OBJAFIT = autofit.o
|
||||||
|
|
||||||
|
OBJGXV = gxvalid.o
|
||||||
|
|
||||||
|
OBJOTV = otvalid.o
|
||||||
|
|
||||||
|
OBJPS = psaux.o psnames.o pshinter.o
|
||||||
|
|
||||||
|
OBJRASTER = raster.o smooth.o
|
||||||
|
|
||||||
|
OBJSFNT = sfnt.o
|
||||||
|
|
||||||
|
OBJCACHE = ftcache.o
|
||||||
|
|
||||||
|
OBJFONTD = cff.o type1.o type42.o type1cid.o\
|
||||||
|
truetype.o winfnt.o bdf.o pcf.o pfr.o
|
||||||
|
|
||||||
|
CORE = FT:src/
|
||||||
|
|
||||||
|
CPU = 68000
|
||||||
|
#CPU = 68020
|
||||||
|
#CPU = 68030
|
||||||
|
#CPU = 68040
|
||||||
|
#CPU = 68060
|
||||||
|
|
||||||
|
OPTIMIZER = optinlocal
|
||||||
|
|
||||||
|
SCFLAGS = optimize opttime optsched strmerge data=faronly idlen=50 cpu=$(CPU)\
|
||||||
|
idir=include/ idir=$(CORE) idir=FT:include/ nostackcheck nochkabort\
|
||||||
|
noicons ignore=79,85,110,306 parameters=both define=FT2_BUILD_LIBRARY
|
||||||
|
|
||||||
|
LIB = ft2_$(CPU).lib
|
||||||
|
|
||||||
|
# sample linker options
|
||||||
|
OPTS = link lib=$(LIB),lib:sc.lib,lib:amiga.lib,lib:debug.lib\
|
||||||
|
smallcode smalldata noicons utillib
|
||||||
|
|
||||||
|
# sample program entry
|
||||||
|
#myprog: myprog.c ftsystem.o $(LIB)
|
||||||
|
# sc $< programname=$@ ftsystem.o $(SCFLAGS) $(OPTS)
|
||||||
|
|
||||||
|
all: $(LIB) $(OBJSYSTEM) $(OBJDEBUG)
|
||||||
|
|
||||||
|
assign:
|
||||||
|
assign FT: //
|
||||||
|
|
||||||
|
# uses separate object modules in lib to make for easier debugging
|
||||||
|
# also, can make smaller programs if entire engine is not used
|
||||||
|
ft2_$(CPU).lib: $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o bzip2.o
|
||||||
|
oml $@ r $(OBJBASE) $(OBJAFIT) $(OBJOTV) $(OBJPS) $(OBJRASTER) $(OBJSFNT) $(OBJCACHE) $(OBJFONTD) lzw.o gzip.o bzip2.o
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-delete \#?.o
|
||||||
|
|
||||||
|
realclean: clean
|
||||||
|
-delete ft2$(CPU).lib
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library base
|
||||||
|
#
|
||||||
|
ftbase.o: $(CORE)base/ftbase.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftinit.o: $(CORE)base/ftinit.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftsystem.o: $(CORE)base/ftsystem.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftsystempure.o: src/base/ftsystem.c ## pure version for use in run-time library etc
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftdebug.o: $(CORE)base/ftdebug.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftdebugpure.o: src/base/ftdebug.c ## pure version for use in run-time library etc
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
#
|
||||||
|
# freetype library base extensions
|
||||||
|
#
|
||||||
|
ftbbox.o: $(CORE)base/ftbbox.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftbdf.o: $(CORE)base/ftbdf.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftbitmap.o: $(CORE)base/ftbitmap.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftcid.o: $(CORE)base/ftcid.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftfstype.o: $(CORE)base/ftfstype.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftgasp.o: $(CORE)base/ftgasp.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftglyph.o: $(CORE)base/ftglyph.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftgxval.o: $(CORE)base/ftgxval.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftmm.o: $(CORE)base/ftmm.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftotval.o: $(CORE)base/ftotval.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftpatent.o: $(CORE)base/ftpatent.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftpfr.o: $(CORE)base/ftpfr.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftstroke.o: $(CORE)base/ftstroke.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftsynth.o: $(CORE)base/ftsynth.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
fttype1.o: $(CORE)base/fttype1.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
ftwinfnt.o: $(CORE)base/ftwinfnt.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library autofitter module
|
||||||
|
#
|
||||||
|
autofit.o: $(CORE)autofit/autofit.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library PS hinting module
|
||||||
|
#
|
||||||
|
pshinter.o: $(CORE)pshinter/pshinter.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
#
|
||||||
|
# freetype library PS support module
|
||||||
|
#
|
||||||
|
psaux.o: $(CORE)psaux/psaux.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library PS glyph names module
|
||||||
|
#
|
||||||
|
psnames.o: $(CORE)psnames/psnames.c
|
||||||
|
sc $(SCFLAGS) code=far objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library monochrome raster module
|
||||||
|
#
|
||||||
|
raster.o: $(CORE)raster/raster.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library anti-aliasing raster module
|
||||||
|
#
|
||||||
|
smooth.o: $(CORE)smooth/smooth.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library 'sfnt' module
|
||||||
|
#
|
||||||
|
sfnt.o: $(CORE)sfnt/sfnt.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library glyph and image caching system (still experimental)
|
||||||
|
#
|
||||||
|
ftcache.o: $(CORE)cache/ftcache.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library OpenType font driver
|
||||||
|
#
|
||||||
|
cff.o: $(CORE)cff/cff.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library TrueType font driver
|
||||||
|
#
|
||||||
|
truetype.o: $(CORE)truetype/truetype.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library Type1 font driver
|
||||||
|
#
|
||||||
|
type1.o: $(CORE)type1/type1.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# FreeType2 library Type42 font driver
|
||||||
|
#
|
||||||
|
type42.o: $(CORE)type42/type42.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library CID-keyed Type1 font driver
|
||||||
|
#
|
||||||
|
type1cid.o: $(CORE)cid/type1cid.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
#
|
||||||
|
# freetype library CID-keyed Type1 font driver extensions
|
||||||
|
#
|
||||||
|
#cidafm.o: $(CORE)cid/cidafm.c
|
||||||
|
# sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library BDF bitmap font driver
|
||||||
|
#
|
||||||
|
bdf.o: $(CORE)bdf/bdf.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library PCF bitmap font driver
|
||||||
|
#
|
||||||
|
pcf.o: $(CORE)pcf/pcf.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library gzip support for compressed PCF bitmap fonts
|
||||||
|
#
|
||||||
|
gzip.o: $(CORE)gzip/ftgzip.c
|
||||||
|
sc $(SCFLAGS) define FAR objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library bzip2 support for compressed PCF bitmap fonts
|
||||||
|
#
|
||||||
|
bzip2.o: $(CORE)bzip2/ftbzip2.c
|
||||||
|
sc $(SCFLAGS) define FAR objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library compress support for compressed PCF bitmap fonts
|
||||||
|
#
|
||||||
|
lzw.o: $(CORE)lzw/ftlzw.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library PFR font driver
|
||||||
|
#
|
||||||
|
pfr.o: $(CORE)pfr/pfr.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library Windows FNT/FON bitmap font driver
|
||||||
|
#
|
||||||
|
winfnt.o: $(CORE)winfonts/winfnt.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library TrueTypeGX validator
|
||||||
|
#
|
||||||
|
gxvalid.o: $(CORE)gxvalid/gxvalid.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#
|
||||||
|
# freetype library OpenType validator
|
||||||
|
#
|
||||||
|
otvalid.o: $(CORE)otvalid/otvalid.c
|
||||||
|
sc $(SCFLAGS) objname=$@ $<
|
||||||
|
|
||||||
|
#Local Variables:
|
||||||
|
#coding: latin-1
|
||||||
|
#End:
|
|
@ -0,0 +1,348 @@
|
||||||
|
/****************************************************************************
|
||||||
|
*
|
||||||
|
* ftdebug.c
|
||||||
|
*
|
||||||
|
* Debugging and logging component for amiga (body).
|
||||||
|
*
|
||||||
|
* Copyright (C) 1996-2022 by
|
||||||
|
* David Turner, Robert Wilhelm, Werner Lemberg, and Detlef Wuerkner.
|
||||||
|
*
|
||||||
|
* This file is part of the FreeType project, and may only be used,
|
||||||
|
* modified, and distributed under the terms of the FreeType project
|
||||||
|
* license, LICENSE.TXT. By continuing to use, modify, or distribute
|
||||||
|
* this file you indicate that you have read the license and
|
||||||
|
* understand and accept it fully.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* This component contains various macros and functions used to ease the
|
||||||
|
* debugging of the FreeType engine. Its main purpose is in assertion
|
||||||
|
* checking, tracing, and error detection.
|
||||||
|
*
|
||||||
|
* There are now three debugging modes:
|
||||||
|
*
|
||||||
|
* - trace mode
|
||||||
|
*
|
||||||
|
* Error and trace messages are sent to the log file (which can be the
|
||||||
|
* standard error output).
|
||||||
|
*
|
||||||
|
* - error mode
|
||||||
|
*
|
||||||
|
* Only error messages are generated.
|
||||||
|
*
|
||||||
|
* - release mode:
|
||||||
|
*
|
||||||
|
* No error message is sent or generated. The code is free from any
|
||||||
|
* debugging parts.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Based on the default `ftdebug.c' file,
|
||||||
|
* replaced `vprintf' with `KVPrintF',
|
||||||
|
* commented out `exit',
|
||||||
|
* replaced `getenv' with `GetVar'.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <exec/types.h>
|
||||||
|
#include <utility/tagitem.h>
|
||||||
|
#include <dos/exall.h>
|
||||||
|
#include <dos/var.h>
|
||||||
|
|
||||||
|
#define __NOLIBBASE__
|
||||||
|
#define __NOLOBALIFACE__
|
||||||
|
#define __USE_INLINE__
|
||||||
|
|
||||||
|
#include <proto/dos.h>
|
||||||
|
#include <clib/debug_protos.h>
|
||||||
|
|
||||||
|
#ifndef __amigaos4__
|
||||||
|
extern struct Library* DOSBase;
|
||||||
|
#else
|
||||||
|
extern struct DOSIFace* IDOS;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#include <ft2build.h>
|
||||||
|
#include <freetype/freetype.h>
|
||||||
|
#include <freetype/internal/ftdebug.h>
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef FT_DEBUG_LEVEL_ERROR
|
||||||
|
|
||||||
|
/* documentation is in ftdebug.h */
|
||||||
|
|
||||||
|
FT_BASE_DEF( void )
|
||||||
|
FT_Message( const char* fmt,
|
||||||
|
... )
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
|
||||||
|
|
||||||
|
va_start( ap, fmt );
|
||||||
|
KVPrintF( fmt, ap );
|
||||||
|
va_end( ap );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftdebug.h */
|
||||||
|
|
||||||
|
FT_BASE_DEF( void )
|
||||||
|
FT_Panic( const char* fmt,
|
||||||
|
... )
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
|
||||||
|
|
||||||
|
va_start( ap, fmt );
|
||||||
|
KVPrintF( fmt, ap );
|
||||||
|
va_end( ap );
|
||||||
|
|
||||||
|
/* exit( EXIT_FAILURE ); */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftdebug.h */
|
||||||
|
|
||||||
|
FT_BASE_DEF( int )
|
||||||
|
FT_Throw( FT_Error error,
|
||||||
|
int line,
|
||||||
|
const char* file )
|
||||||
|
{
|
||||||
|
#if 0
|
||||||
|
/* activating the code in this block makes FreeType very chatty */
|
||||||
|
fprintf( stderr,
|
||||||
|
"%s:%d: error 0x%02x: %s\n",
|
||||||
|
file,
|
||||||
|
line,
|
||||||
|
error,
|
||||||
|
FT_Error_String( error ) );
|
||||||
|
#else
|
||||||
|
FT_UNUSED( error );
|
||||||
|
FT_UNUSED( line );
|
||||||
|
FT_UNUSED( file );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* FT_DEBUG_LEVEL_ERROR */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef FT_DEBUG_LEVEL_TRACE
|
||||||
|
|
||||||
|
/* array of trace levels, initialized to 0; */
|
||||||
|
/* this gets adjusted at run-time */
|
||||||
|
static int ft_trace_levels_enabled[trace_count];
|
||||||
|
|
||||||
|
/* array of trace levels, always initialized to 0 */
|
||||||
|
static int ft_trace_levels_disabled[trace_count];
|
||||||
|
|
||||||
|
/* a pointer to either `ft_trace_levels_enabled' */
|
||||||
|
/* or `ft_trace_levels_disabled' */
|
||||||
|
int* ft_trace_levels;
|
||||||
|
|
||||||
|
/* define array of trace toggle names */
|
||||||
|
#define FT_TRACE_DEF( x ) #x ,
|
||||||
|
|
||||||
|
static const char* ft_trace_toggles[trace_count + 1] =
|
||||||
|
{
|
||||||
|
#include <freetype/internal/fttrace.h>
|
||||||
|
NULL
|
||||||
|
};
|
||||||
|
|
||||||
|
#undef FT_TRACE_DEF
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftdebug.h */
|
||||||
|
|
||||||
|
FT_BASE_DEF( FT_Int )
|
||||||
|
FT_Trace_Get_Count( void )
|
||||||
|
{
|
||||||
|
return trace_count;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftdebug.h */
|
||||||
|
|
||||||
|
FT_BASE_DEF( const char * )
|
||||||
|
FT_Trace_Get_Name( FT_Int idx )
|
||||||
|
{
|
||||||
|
int max = FT_Trace_Get_Count();
|
||||||
|
|
||||||
|
|
||||||
|
if ( idx < max )
|
||||||
|
return ft_trace_toggles[idx];
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftdebug.h */
|
||||||
|
|
||||||
|
FT_BASE_DEF( void )
|
||||||
|
FT_Trace_Disable( void )
|
||||||
|
{
|
||||||
|
ft_trace_levels = ft_trace_levels_disabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftdebug.h */
|
||||||
|
|
||||||
|
FT_BASE_DEF( void )
|
||||||
|
FT_Trace_Enable( void )
|
||||||
|
{
|
||||||
|
ft_trace_levels = ft_trace_levels_enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* Initialize the tracing sub-system. This is done by retrieving the
|
||||||
|
* value of the `FT2_DEBUG' environment variable. It must be a list of
|
||||||
|
* toggles, separated by spaces, `;', or `,'. Example:
|
||||||
|
*
|
||||||
|
* export FT2_DEBUG="any:3 memory:7 stream:5"
|
||||||
|
*
|
||||||
|
* This requests that all levels be set to 3, except the trace level for
|
||||||
|
* the memory and stream components which are set to 7 and 5,
|
||||||
|
* respectively.
|
||||||
|
*
|
||||||
|
* See the file `include/freetype/internal/fttrace.h' for details of
|
||||||
|
* the available toggle names.
|
||||||
|
*
|
||||||
|
* The level must be between 0 and 7; 0 means quiet (except for serious
|
||||||
|
* runtime errors), and 7 means _very_ verbose.
|
||||||
|
*/
|
||||||
|
FT_BASE_DEF( void )
|
||||||
|
ft_debug_init( void )
|
||||||
|
{
|
||||||
|
/* const char* ft2_debug = ft_getenv( "FT2_DEBUG" ); */
|
||||||
|
char buf[256];
|
||||||
|
const char* ft2_debug = &buf[0];
|
||||||
|
|
||||||
|
|
||||||
|
/* if ( ft2_debug ) */
|
||||||
|
if ( GetVar( "FT2_DEBUG", (STRPTR)ft2_debug, 256, LV_VAR ) > 0 )
|
||||||
|
{
|
||||||
|
const char* p = ft2_debug;
|
||||||
|
const char* q;
|
||||||
|
|
||||||
|
|
||||||
|
for ( ; *p; p++ )
|
||||||
|
{
|
||||||
|
/* skip leading whitespace and separators */
|
||||||
|
if ( *p == ' ' || *p == '\t' || *p == ',' || *p == ';' || *p == '=' )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/* read toggle name, followed by ':' */
|
||||||
|
q = p;
|
||||||
|
while ( *p && *p != ':' )
|
||||||
|
p++;
|
||||||
|
|
||||||
|
if ( !*p )
|
||||||
|
break;
|
||||||
|
|
||||||
|
if ( *p == ':' && p > q )
|
||||||
|
{
|
||||||
|
FT_Int n, i, len = (FT_Int)( p - q );
|
||||||
|
FT_Int level = -1, found = -1;
|
||||||
|
|
||||||
|
|
||||||
|
for ( n = 0; n < trace_count; n++ )
|
||||||
|
{
|
||||||
|
const char* toggle = ft_trace_toggles[n];
|
||||||
|
|
||||||
|
|
||||||
|
for ( i = 0; i < len; i++ )
|
||||||
|
{
|
||||||
|
if ( toggle[i] != q[i] )
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( i == len && toggle[i] == 0 )
|
||||||
|
{
|
||||||
|
found = n;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* read level */
|
||||||
|
p++;
|
||||||
|
if ( *p )
|
||||||
|
{
|
||||||
|
level = *p - '0';
|
||||||
|
if ( level < 0 || level > 7 )
|
||||||
|
level = -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( found >= 0 && level >= 0 )
|
||||||
|
{
|
||||||
|
if ( found == trace_any )
|
||||||
|
{
|
||||||
|
/* special case for `any' */
|
||||||
|
for ( n = 0; n < trace_count; n++ )
|
||||||
|
ft_trace_levels_enabled[n] = level;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
ft_trace_levels_enabled[found] = level;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ft_trace_levels = ft_trace_levels_enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#else /* !FT_DEBUG_LEVEL_TRACE */
|
||||||
|
|
||||||
|
|
||||||
|
FT_BASE_DEF( void )
|
||||||
|
ft_debug_init( void )
|
||||||
|
{
|
||||||
|
/* nothing */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
FT_BASE_DEF( FT_Int )
|
||||||
|
FT_Trace_Get_Count( void )
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
FT_BASE_DEF( const char * )
|
||||||
|
FT_Trace_Get_Name( FT_Int idx )
|
||||||
|
{
|
||||||
|
FT_UNUSED( idx );
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
FT_BASE_DEF( void )
|
||||||
|
FT_Trace_Disable( void )
|
||||||
|
{
|
||||||
|
/* nothing */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftdebug.h */
|
||||||
|
|
||||||
|
FT_BASE_DEF( void )
|
||||||
|
FT_Trace_Enable( void )
|
||||||
|
{
|
||||||
|
/* nothing */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* !FT_DEBUG_LEVEL_TRACE */
|
||||||
|
|
||||||
|
|
||||||
|
/* END */
|
|
@ -0,0 +1,530 @@
|
||||||
|
/***************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* ftsystem.c */
|
||||||
|
/* */
|
||||||
|
/* Amiga-specific FreeType low-level system interface (body). */
|
||||||
|
/* */
|
||||||
|
/* Copyright (C) 1996-2022 by */
|
||||||
|
/* David Turner, Robert Wilhelm, Werner Lemberg and Detlef Würkner. */
|
||||||
|
/* */
|
||||||
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
/* modified, and distributed under the terms of the FreeType project */
|
||||||
|
/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
|
||||||
|
/* this file you indicate that you have read the license and */
|
||||||
|
/* understand and accept it fully. */
|
||||||
|
/* */
|
||||||
|
/***************************************************************************/
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* This file contains the Amiga interface used by FreeType to access */
|
||||||
|
/* low-level, i.e. memory management, i/o access as well as thread */
|
||||||
|
/* synchronisation. */
|
||||||
|
/* */
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* Maintained by Detlef Würkner <TetiSoft@apg.lahn.de> */
|
||||||
|
/* */
|
||||||
|
/* Based on the original ftsystem.c, */
|
||||||
|
/* modified to avoid fopen(), fclose(), fread(), fseek(), ftell(), */
|
||||||
|
/* malloc(), realloc(), and free(). */
|
||||||
|
/* */
|
||||||
|
/* Those C library functions are often not thread-safe or cant be */
|
||||||
|
/* used in a shared Amiga library. If that's not a problem for you, */
|
||||||
|
/* you can of course use the default ftsystem.c with C library calls */
|
||||||
|
/* instead. */
|
||||||
|
/* */
|
||||||
|
/* This implementation needs exec V39+ because it uses AllocPooled() etc */
|
||||||
|
/* */
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
#define __NOLIBBASE__
|
||||||
|
#define __NOGLOBALIFACE__
|
||||||
|
#define __USE_INLINE__
|
||||||
|
#include <proto/exec.h>
|
||||||
|
#include <dos/stdio.h>
|
||||||
|
#include <proto/dos.h>
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
extern struct ExecIFace *IExec;
|
||||||
|
extern struct DOSIFace *IDOS;
|
||||||
|
#else
|
||||||
|
extern struct Library *SysBase;
|
||||||
|
extern struct Library *DOSBase;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define IOBUF_SIZE 512
|
||||||
|
|
||||||
|
/* structure that helps us to avoid
|
||||||
|
* useless calls of Seek() and Read()
|
||||||
|
*/
|
||||||
|
struct SysFile
|
||||||
|
{
|
||||||
|
BPTR file;
|
||||||
|
ULONG iobuf_start;
|
||||||
|
ULONG iobuf_end;
|
||||||
|
UBYTE iobuf[IOBUF_SIZE];
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifndef __amigaos4__
|
||||||
|
/* C implementation of AllocVecPooled (see autodoc exec/AllocPooled) */
|
||||||
|
APTR
|
||||||
|
Alloc_VecPooled( APTR poolHeader,
|
||||||
|
ULONG memSize )
|
||||||
|
{
|
||||||
|
ULONG newSize = memSize + sizeof ( ULONG );
|
||||||
|
ULONG *mem = AllocPooled( poolHeader, newSize );
|
||||||
|
|
||||||
|
if ( !mem )
|
||||||
|
return NULL;
|
||||||
|
*mem = newSize;
|
||||||
|
return mem + 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* C implementation of FreeVecPooled (see autodoc exec/AllocPooled) */
|
||||||
|
void
|
||||||
|
Free_VecPooled( APTR poolHeader,
|
||||||
|
APTR memory )
|
||||||
|
{
|
||||||
|
ULONG *realmem = (ULONG *)memory - 1;
|
||||||
|
|
||||||
|
FreePooled( poolHeader, realmem, *realmem );
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <ft2build.h>
|
||||||
|
#include FT_CONFIG_CONFIG_H
|
||||||
|
#include <freetype/internal/ftdebug.h>
|
||||||
|
#include <freetype/ftsystem.h>
|
||||||
|
#include <freetype/fterrors.h>
|
||||||
|
#include <freetype/fttypes.h>
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* MEMORY MANAGEMENT INTERFACE */
|
||||||
|
/* */
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* It is not necessary to do any error checking for the */
|
||||||
|
/* allocation-related functions. This is done by the higher level */
|
||||||
|
/* routines like ft_mem_alloc() or ft_mem_realloc(). */
|
||||||
|
/* */
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Function> */
|
||||||
|
/* ft_alloc */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* The memory allocation function. */
|
||||||
|
/* */
|
||||||
|
/* <Input> */
|
||||||
|
/* memory :: A pointer to the memory object. */
|
||||||
|
/* */
|
||||||
|
/* size :: The requested size in bytes. */
|
||||||
|
/* */
|
||||||
|
/* <Return> */
|
||||||
|
/* The address of newly allocated block. */
|
||||||
|
/* */
|
||||||
|
FT_CALLBACK_DEF( void* )
|
||||||
|
ft_alloc( FT_Memory memory,
|
||||||
|
long size )
|
||||||
|
{
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
return AllocVecPooled( memory->user, size );
|
||||||
|
#else
|
||||||
|
return Alloc_VecPooled( memory->user, size );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Function> */
|
||||||
|
/* ft_realloc */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* The memory reallocation function. */
|
||||||
|
/* */
|
||||||
|
/* <Input> */
|
||||||
|
/* memory :: A pointer to the memory object. */
|
||||||
|
/* */
|
||||||
|
/* cur_size :: The current size of the allocated memory block. */
|
||||||
|
/* */
|
||||||
|
/* new_size :: The newly requested size in bytes. */
|
||||||
|
/* */
|
||||||
|
/* block :: The current address of the block in memory. */
|
||||||
|
/* */
|
||||||
|
/* <Return> */
|
||||||
|
/* The address of the reallocated memory block. */
|
||||||
|
/* */
|
||||||
|
FT_CALLBACK_DEF( void* )
|
||||||
|
ft_realloc( FT_Memory memory,
|
||||||
|
long cur_size,
|
||||||
|
long new_size,
|
||||||
|
void* block )
|
||||||
|
{
|
||||||
|
void* new_block;
|
||||||
|
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
new_block = AllocVecPooled ( memory->user, new_size );
|
||||||
|
#else
|
||||||
|
new_block = Alloc_VecPooled ( memory->user, new_size );
|
||||||
|
#endif
|
||||||
|
if ( new_block != NULL )
|
||||||
|
{
|
||||||
|
CopyMem ( block, new_block,
|
||||||
|
( new_size > cur_size ) ? cur_size : new_size );
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
FreeVecPooled ( memory->user, block );
|
||||||
|
#else
|
||||||
|
Free_VecPooled ( memory->user, block );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
return new_block;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Function> */
|
||||||
|
/* ft_free */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* The memory release function. */
|
||||||
|
/* */
|
||||||
|
/* <Input> */
|
||||||
|
/* memory :: A pointer to the memory object. */
|
||||||
|
/* */
|
||||||
|
/* block :: The address of block in memory to be freed. */
|
||||||
|
/* */
|
||||||
|
FT_CALLBACK_DEF( void )
|
||||||
|
ft_free( FT_Memory memory,
|
||||||
|
void* block )
|
||||||
|
{
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
FreeVecPooled( memory->user, block );
|
||||||
|
#else
|
||||||
|
Free_VecPooled( memory->user, block );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* RESOURCE MANAGEMENT INTERFACE */
|
||||||
|
/* */
|
||||||
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* The macro FT_COMPONENT is used in trace mode. It is an implicit */
|
||||||
|
/* parameter of the FT_TRACE() and FT_ERROR() macros, used to print/log */
|
||||||
|
/* messages during execution. */
|
||||||
|
/* */
|
||||||
|
#undef FT_COMPONENT
|
||||||
|
#define FT_COMPONENT io
|
||||||
|
|
||||||
|
/* We use the macro STREAM_FILE for convenience to extract the */
|
||||||
|
/* system-specific stream handle from a given FreeType stream object */
|
||||||
|
#define STREAM_FILE( stream ) ( (struct SysFile *)stream->descriptor.pointer )
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Function> */
|
||||||
|
/* ft_amiga_stream_close */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* The function to close a stream. */
|
||||||
|
/* */
|
||||||
|
/* <Input> */
|
||||||
|
/* stream :: A pointer to the stream object. */
|
||||||
|
/* */
|
||||||
|
FT_CALLBACK_DEF( void )
|
||||||
|
ft_amiga_stream_close( FT_Stream stream )
|
||||||
|
{
|
||||||
|
struct SysFile* sysfile;
|
||||||
|
|
||||||
|
sysfile = STREAM_FILE( stream );
|
||||||
|
Close ( sysfile->file );
|
||||||
|
FreeMem ( sysfile, sizeof ( struct SysFile ));
|
||||||
|
|
||||||
|
stream->descriptor.pointer = NULL;
|
||||||
|
stream->size = 0;
|
||||||
|
stream->base = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Function> */
|
||||||
|
/* ft_amiga_stream_io */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* The function to open a stream. */
|
||||||
|
/* */
|
||||||
|
/* <Input> */
|
||||||
|
/* stream :: A pointer to the stream object. */
|
||||||
|
/* */
|
||||||
|
/* offset :: The position in the data stream to start reading. */
|
||||||
|
/* */
|
||||||
|
/* buffer :: The address of buffer to store the read data. */
|
||||||
|
/* */
|
||||||
|
/* count :: The number of bytes to read from the stream. */
|
||||||
|
/* */
|
||||||
|
/* <Return> */
|
||||||
|
/* The number of bytes actually read. */
|
||||||
|
/* */
|
||||||
|
FT_CALLBACK_DEF( unsigned long )
|
||||||
|
ft_amiga_stream_io( FT_Stream stream,
|
||||||
|
unsigned long offset,
|
||||||
|
unsigned char* buffer,
|
||||||
|
unsigned long count )
|
||||||
|
{
|
||||||
|
struct SysFile* sysfile;
|
||||||
|
unsigned long read_bytes;
|
||||||
|
|
||||||
|
if ( count != 0 )
|
||||||
|
{
|
||||||
|
sysfile = STREAM_FILE( stream );
|
||||||
|
|
||||||
|
/* handle the seek */
|
||||||
|
if ( (offset < sysfile->iobuf_start) || (offset + count > sysfile->iobuf_end) )
|
||||||
|
{
|
||||||
|
/* requested offset implies we need a buffer refill */
|
||||||
|
if ( !sysfile->iobuf_end || offset != sysfile->iobuf_end )
|
||||||
|
{
|
||||||
|
/* a physical seek is necessary */
|
||||||
|
Seek( sysfile->file, offset, OFFSET_BEGINNING );
|
||||||
|
}
|
||||||
|
sysfile->iobuf_start = offset;
|
||||||
|
sysfile->iobuf_end = 0; /* trigger a buffer refill */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* handle the read */
|
||||||
|
if ( offset + count <= sysfile->iobuf_end )
|
||||||
|
{
|
||||||
|
/* we have buffer and requested bytes are all inside our buffer */
|
||||||
|
CopyMem( &sysfile->iobuf[offset - sysfile->iobuf_start], buffer, count );
|
||||||
|
read_bytes = count;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* (re)fill buffer */
|
||||||
|
if ( count <= IOBUF_SIZE )
|
||||||
|
{
|
||||||
|
/* requested bytes is a subset of the buffer */
|
||||||
|
read_bytes = Read( sysfile->file, sysfile->iobuf, IOBUF_SIZE );
|
||||||
|
if ( read_bytes == -1UL )
|
||||||
|
{
|
||||||
|
/* error */
|
||||||
|
read_bytes = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sysfile->iobuf_end = offset + read_bytes;
|
||||||
|
CopyMem( sysfile->iobuf, buffer, count );
|
||||||
|
if ( read_bytes > count )
|
||||||
|
{
|
||||||
|
read_bytes = count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* we actually need more than our buffer can hold, so we decide
|
||||||
|
** to do a single big read, and then copy the last IOBUF_SIZE
|
||||||
|
** bytes of that to our internal buffer for later use */
|
||||||
|
read_bytes = Read( sysfile->file, buffer, count );
|
||||||
|
if ( read_bytes == -1UL )
|
||||||
|
{
|
||||||
|
/* error */
|
||||||
|
read_bytes = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ULONG bufsize;
|
||||||
|
|
||||||
|
bufsize = ( read_bytes > IOBUF_SIZE ) ? IOBUF_SIZE : read_bytes;
|
||||||
|
sysfile->iobuf_end = offset + read_bytes;
|
||||||
|
sysfile->iobuf_start = sysfile->iobuf_end - bufsize;
|
||||||
|
CopyMem( &buffer[read_bytes - bufsize] , sysfile->iobuf, bufsize );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
read_bytes = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return read_bytes;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftobjs.h */
|
||||||
|
|
||||||
|
FT_BASE_DEF( FT_Error )
|
||||||
|
FT_Stream_Open( FT_Stream stream,
|
||||||
|
const char* filepathname )
|
||||||
|
{
|
||||||
|
struct FileInfoBlock* fib;
|
||||||
|
struct SysFile* sysfile;
|
||||||
|
|
||||||
|
|
||||||
|
if ( !stream )
|
||||||
|
return FT_THROW( Invalid_Stream_Handle );
|
||||||
|
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
sysfile = AllocMem ( sizeof (struct SysFile ), MEMF_SHARED );
|
||||||
|
#else
|
||||||
|
sysfile = AllocMem ( sizeof (struct SysFile ), MEMF_PUBLIC );
|
||||||
|
#endif
|
||||||
|
if ( !sysfile )
|
||||||
|
{
|
||||||
|
FT_ERROR(( "FT_Stream_Open:" ));
|
||||||
|
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||||
|
|
||||||
|
return FT_THROW( Cannot_Open_Resource );
|
||||||
|
}
|
||||||
|
sysfile->file = Open( (STRPTR)filepathname, MODE_OLDFILE );
|
||||||
|
if ( !sysfile->file )
|
||||||
|
{
|
||||||
|
FreeMem ( sysfile, sizeof ( struct SysFile ));
|
||||||
|
FT_ERROR(( "FT_Stream_Open:" ));
|
||||||
|
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||||
|
|
||||||
|
return FT_THROW( Cannot_Open_Resource );
|
||||||
|
}
|
||||||
|
|
||||||
|
fib = AllocDosObject( DOS_FIB, NULL );
|
||||||
|
if ( !fib )
|
||||||
|
{
|
||||||
|
Close ( sysfile->file );
|
||||||
|
FreeMem ( sysfile, sizeof ( struct SysFile ));
|
||||||
|
FT_ERROR(( "FT_Stream_Open:" ));
|
||||||
|
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||||
|
|
||||||
|
return FT_THROW( Cannot_Open_Resource );
|
||||||
|
}
|
||||||
|
if ( !( ExamineFH( sysfile->file, fib ) ) )
|
||||||
|
{
|
||||||
|
FreeDosObject( DOS_FIB, fib );
|
||||||
|
Close ( sysfile->file );
|
||||||
|
FreeMem ( sysfile, sizeof ( struct SysFile ));
|
||||||
|
FT_ERROR(( "FT_Stream_Open:" ));
|
||||||
|
FT_ERROR(( " could not open `%s'\n", filepathname ));
|
||||||
|
|
||||||
|
return FT_THROW( Cannot_Open_Resource );
|
||||||
|
}
|
||||||
|
stream->size = fib->fib_Size;
|
||||||
|
FreeDosObject( DOS_FIB, fib );
|
||||||
|
|
||||||
|
stream->descriptor.pointer = (void *)sysfile;
|
||||||
|
stream->pathname.pointer = (char*)filepathname;
|
||||||
|
sysfile->iobuf_start = 0;
|
||||||
|
sysfile->iobuf_end = 0;
|
||||||
|
stream->pos = 0;
|
||||||
|
|
||||||
|
stream->read = ft_amiga_stream_io;
|
||||||
|
stream->close = ft_amiga_stream_close;
|
||||||
|
|
||||||
|
if ( !stream->size )
|
||||||
|
{
|
||||||
|
ft_amiga_stream_close( stream );
|
||||||
|
FT_ERROR(( "FT_Stream_Open:" ));
|
||||||
|
FT_ERROR(( " opened `%s' but zero-sized\n", filepathname ));
|
||||||
|
return FT_THROW( Cannot_Open_Stream );
|
||||||
|
}
|
||||||
|
|
||||||
|
FT_TRACE1(( "FT_Stream_Open:" ));
|
||||||
|
FT_TRACE1(( " opened `%s' (%ld bytes) successfully\n",
|
||||||
|
filepathname, stream->size ));
|
||||||
|
|
||||||
|
return FT_Err_Ok;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef FT_DEBUG_MEMORY
|
||||||
|
|
||||||
|
extern FT_Int
|
||||||
|
ft_mem_debug_init( FT_Memory memory );
|
||||||
|
|
||||||
|
extern void
|
||||||
|
ft_mem_debug_done( FT_Memory memory );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftobjs.h */
|
||||||
|
|
||||||
|
FT_BASE_DEF( FT_Memory )
|
||||||
|
FT_New_Memory( void )
|
||||||
|
{
|
||||||
|
FT_Memory memory;
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
memory = (FT_Memory)AllocVec( sizeof ( *memory ), MEMF_SHARED );
|
||||||
|
#else
|
||||||
|
memory = (FT_Memory)AllocVec( sizeof ( *memory ), MEMF_PUBLIC );
|
||||||
|
#endif
|
||||||
|
if ( memory )
|
||||||
|
{
|
||||||
|
#ifdef __amigaos4__
|
||||||
|
memory->user = CreatePool( MEMF_SHARED, 16384, 16384 );
|
||||||
|
#else
|
||||||
|
memory->user = CreatePool( MEMF_PUBLIC, 16384, 16384 );
|
||||||
|
#endif
|
||||||
|
if ( memory->user == NULL )
|
||||||
|
{
|
||||||
|
FreeVec( memory );
|
||||||
|
memory = NULL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
memory->alloc = ft_alloc;
|
||||||
|
memory->realloc = ft_realloc;
|
||||||
|
memory->free = ft_free;
|
||||||
|
#ifdef FT_DEBUG_MEMORY
|
||||||
|
ft_mem_debug_init( memory );
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return memory;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* documentation is in ftobjs.h */
|
||||||
|
|
||||||
|
FT_BASE_DEF( void )
|
||||||
|
FT_Done_Memory( FT_Memory memory )
|
||||||
|
{
|
||||||
|
#ifdef FT_DEBUG_MEMORY
|
||||||
|
ft_mem_debug_done( memory );
|
||||||
|
#endif
|
||||||
|
|
||||||
|
DeletePool( memory->user );
|
||||||
|
FreeVec( memory );
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Local Variables:
|
||||||
|
coding: latin-1
|
||||||
|
End:
|
||||||
|
*/
|
||||||
|
/* END */
|
77
LVGL Simulator/LvglPlatform/freetype/builds/ansi/ansi-def.mk
Normal file
77
LVGL Simulator/LvglPlatform/freetype/builds/ansi/ansi-def.mk
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration rules for a `normal' ANSI system
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
DELETE := rm -f
|
||||||
|
CAT := cat
|
||||||
|
SEP := /
|
||||||
|
PLATFORM_DIR := $(TOP_DIR)/builds/ansi
|
||||||
|
PLATFORM := ansi
|
||||||
|
|
||||||
|
# This is used for `make refdoc' and `make refdoc-venv'
|
||||||
|
#
|
||||||
|
BIN := bin
|
||||||
|
|
||||||
|
# The directory where all library files are placed.
|
||||||
|
#
|
||||||
|
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||||
|
# to suit particular needs.
|
||||||
|
#
|
||||||
|
LIB_DIR := $(OBJ_DIR)
|
||||||
|
|
||||||
|
|
||||||
|
# The name of the final library file. Note that the DOS-specific Makefile
|
||||||
|
# uses a shorter (8.3) name.
|
||||||
|
#
|
||||||
|
LIBRARY := lib$(PROJECT)
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := -I
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := -D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L := -l
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag.
|
||||||
|
#
|
||||||
|
T := -o$(space)
|
||||||
|
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
# Use the ANSIFLAGS variable to define the compiler flags used to enforce
|
||||||
|
# ANSI compliance.
|
||||||
|
#
|
||||||
|
CFLAGS ?= -c
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
#
|
||||||
|
ANSIFLAGS ?=
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
21
LVGL Simulator/LvglPlatform/freetype/builds/ansi/ansi.mk
Normal file
21
LVGL Simulator/LvglPlatform/freetype/builds/ansi/ansi.mk
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration rules for a `normal' pseudo ANSI compiler/system
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
include $(TOP_DIR)/builds/ansi/ansi-def.mk
|
||||||
|
include $(TOP_DIR)/builds/compiler/ansi-cc.mk
|
||||||
|
include $(TOP_DIR)/builds/link_std.mk
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
20
LVGL Simulator/LvglPlatform/freetype/builds/atari/ATARI.H
Normal file
20
LVGL Simulator/LvglPlatform/freetype/builds/atari/ATARI.H
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#if defined( GXVALID_H_ )
|
||||||
|
#pragma warn -aus /* too many unevaluated variables in gxvalid */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef ATARI_H
|
||||||
|
#define ATARI_H
|
||||||
|
|
||||||
|
#pragma warn -stu
|
||||||
|
|
||||||
|
/* PureC doesn't like 32bit enumerations */
|
||||||
|
|
||||||
|
#ifndef FT_IMAGE_TAG
|
||||||
|
#define FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 ) value
|
||||||
|
#endif /* FT_IMAGE_TAG */
|
||||||
|
|
||||||
|
#ifndef FT_ENC_TAG
|
||||||
|
#define FT_ENC_TAG( value, a, b, c, d ) value
|
||||||
|
#endif /* FT_ENC_TAG */
|
||||||
|
|
||||||
|
#endif /* ATARI_H */
|
37
LVGL Simulator/LvglPlatform/freetype/builds/atari/FNames.SIC
Normal file
37
LVGL Simulator/LvglPlatform/freetype/builds/atari/FNames.SIC
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
/* the following changes file names for PureC projects */
|
||||||
|
|
||||||
|
if (argc > 0)
|
||||||
|
{
|
||||||
|
ordner = argv[0];
|
||||||
|
if (basename(ordner) == "") /* ist Ordner */
|
||||||
|
{
|
||||||
|
ChangeFilenames(ordner);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
proc ChangeFilenames(folder)
|
||||||
|
local i,entries,directory,file;
|
||||||
|
{
|
||||||
|
entries = filelist(directory,folder);
|
||||||
|
for (i = 0; i < entries; ++i)
|
||||||
|
{
|
||||||
|
file = directory[i,0];
|
||||||
|
if ((directory[i,3]&16) > 0) /* subdirectory */
|
||||||
|
{
|
||||||
|
ChangeFilenames(folder+file+"\\");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if ((stricmp(suffix(file),".h")==0)|(stricmp(suffix(file),".c")==0))
|
||||||
|
ChangeFilename(folder,file);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
proc ChangeFilename(path,datei)
|
||||||
|
local newfile,err;
|
||||||
|
{
|
||||||
|
newfile=datei;
|
||||||
|
newfile[0]=(newfile[0] | 32) ^ 32;
|
||||||
|
err=files.rename("-q",path+datei,newfile);
|
||||||
|
}
|
|
@ -0,0 +1,32 @@
|
||||||
|
;FreeType project file
|
||||||
|
|
||||||
|
FREETYPE.LIB
|
||||||
|
|
||||||
|
.C [-K -P -R -A]
|
||||||
|
.L [-J -V]
|
||||||
|
.S
|
||||||
|
|
||||||
|
=
|
||||||
|
|
||||||
|
..\..\src\base\ftsystem.c
|
||||||
|
..\..\src\base\ftdebug.c
|
||||||
|
|
||||||
|
..\..\src\base\ftinit.c
|
||||||
|
..\..\src\base\ftglyph.c
|
||||||
|
..\..\src\base\ftmm
|
||||||
|
..\..\src\base\ftbbox
|
||||||
|
|
||||||
|
..\..\src\base\ftbase.c
|
||||||
|
..\..\src\autohint\autohint.c
|
||||||
|
;..\..\src\cache\ftcache.c
|
||||||
|
..\..\src\cff\cff.c
|
||||||
|
..\..\src\cid\type1cid.c
|
||||||
|
..\..\src\psaux\psaux.c
|
||||||
|
..\..\src\pshinter\pshinter.c
|
||||||
|
..\..\src\psnames\psnames.c
|
||||||
|
..\..\src\raster\raster.c
|
||||||
|
..\..\src\sfnt\sfnt.c
|
||||||
|
..\..\src\smooth\smooth.c
|
||||||
|
..\..\src\truetype\truetype.c
|
||||||
|
..\..\src\type1\type1.c
|
||||||
|
..\..\src\type42\type42.c
|
51
LVGL Simulator/LvglPlatform/freetype/builds/atari/README.TXT
Normal file
51
LVGL Simulator/LvglPlatform/freetype/builds/atari/README.TXT
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
Compiling FreeType 2 with PureC compiler
|
||||||
|
========================================
|
||||||
|
|
||||||
|
[See below for a German version.]
|
||||||
|
|
||||||
|
To compile FreeType 2 as a library the following changes must be applied:
|
||||||
|
|
||||||
|
- All *.c files must start with an uppercase letter.
|
||||||
|
(In case GEMSCRIPT is available:
|
||||||
|
Simply drag the whole FreeType 2 directory to the file `FNames.SIC'.)
|
||||||
|
|
||||||
|
- You have to change the INCLUDE directory in PureC's compiler options
|
||||||
|
to contain both the `INCLUDE' and `freetype2\include' directory.
|
||||||
|
Example:
|
||||||
|
|
||||||
|
INCLUDE;E:\freetype2\include
|
||||||
|
|
||||||
|
- The file `freetype/include/Ft2build.h' must be patched as follows to
|
||||||
|
include ATARI.H:
|
||||||
|
|
||||||
|
#ifndef FT2_BUILD_GENERIC_H_
|
||||||
|
#define FT2_BUILD_GENERIC_H_
|
||||||
|
|
||||||
|
#include "ATARI.H"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Compilieren von FreeType 2 mit PureC
|
||||||
|
====================================
|
||||||
|
|
||||||
|
Um FreeType 2 als eine Bibliothek (library) zu compilieren, muss folgendes
|
||||||
|
ge„ndert werden:
|
||||||
|
|
||||||
|
- Alle *.c-files m<>ssen mit einem GROSSBUCHSTABEN beginnen.
|
||||||
|
(Falls GEMSCRIPT zur Verf<72>gung steht:
|
||||||
|
Den kompletten Ordner freetype2 auf die Datei `FNames.SIC' draggen.)
|
||||||
|
|
||||||
|
- In den Compiler-Optionen von PureC muss das INCLUDE directory auf INCLUDE
|
||||||
|
und freetype2\include verweisen. Z.B.:
|
||||||
|
|
||||||
|
INCLUDE;E:\freetype2\include
|
||||||
|
|
||||||
|
- In der Datei freetype/include/Ft2build.h muss zu Beginn
|
||||||
|
ein #include "ATARI.H" wie folgt eingef<65>gt werden:
|
||||||
|
|
||||||
|
#ifndef FT2_BUILD_GENERIC_H_
|
||||||
|
#define FT2_BUILD_GENERIC_H_
|
||||||
|
|
||||||
|
#include "ATARI.H"
|
||||||
|
|
||||||
|
--- end of README.TXT ---
|
|
@ -0,0 +1,181 @@
|
||||||
|
#!/usr/bin/env awk
|
||||||
|
|
||||||
|
|
||||||
|
function shift( array, \
|
||||||
|
junk, elm0, l )
|
||||||
|
{
|
||||||
|
elm0 = array[0]
|
||||||
|
for ( l = 0; l < asorti( array, junk ) - 1; l++ )
|
||||||
|
array[l] = array[l+1];
|
||||||
|
delete array[l]
|
||||||
|
return elm0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function init_cpp_src_line()
|
||||||
|
{
|
||||||
|
logical_line = ""
|
||||||
|
delete break_pos
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function shift_valid_bp( array, \
|
||||||
|
junk, elm )
|
||||||
|
{
|
||||||
|
elm = -1
|
||||||
|
|
||||||
|
if ( 0 < asorti( array, junk ) )
|
||||||
|
do {
|
||||||
|
elm = shift( array )
|
||||||
|
} while ( 0 > elm );
|
||||||
|
|
||||||
|
return elm
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function check_cpp_src_line_break_pos( \
|
||||||
|
i, junk )
|
||||||
|
{
|
||||||
|
printf( "break_pos:" )
|
||||||
|
for ( i = 0; i < asorti( break_pos, junk ); i++ )
|
||||||
|
printf( " %d", break_pos[i] );
|
||||||
|
printf( "\n" )
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function check_cpp_src_line()
|
||||||
|
{
|
||||||
|
printf( "logical_line[%s]\n", logical_line )
|
||||||
|
check_cpp_src_line_break_pos()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function append_line( phys_line, \
|
||||||
|
filt_line, bp_len )
|
||||||
|
{
|
||||||
|
filt_line = phys_line
|
||||||
|
sub( /\\$/, " ", filt_line )
|
||||||
|
logical_line = logical_line filt_line
|
||||||
|
bp_len = asorti( break_pos, junk )
|
||||||
|
break_pos[bp_len] = length( logical_line ) - 1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function print_line( \
|
||||||
|
c0, c1, i, junk, part_str )
|
||||||
|
{
|
||||||
|
c0 = 0
|
||||||
|
|
||||||
|
while( asorti( break_pos, junk ) > 1 )
|
||||||
|
{
|
||||||
|
if ( ( c1 = shift_valid_bp( break_pos ) ) < 1 )
|
||||||
|
{
|
||||||
|
part_str = substr( logical_line, c0 + 1 )
|
||||||
|
printf( "%s\n", part_str )
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
part_str = substr( logical_line, c0 + 1, c1 - c0 + 1 )
|
||||||
|
gsub( / $/, "\\", part_str )
|
||||||
|
printf( "%s\n", part_str )
|
||||||
|
c0 = c1 + 1
|
||||||
|
}
|
||||||
|
|
||||||
|
part_str = substr( logical_line, c0 + 1 )
|
||||||
|
printf( "%s\n", part_str )
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function shrink_spaces( pos, \
|
||||||
|
tail, removed_length, k )
|
||||||
|
{
|
||||||
|
tail = substr( logical_line, pos )
|
||||||
|
sub( /^[ \t]+/, " ", tail )
|
||||||
|
removed_length = length( logical_line ) - pos - length( tail ) + 1
|
||||||
|
logical_line = substr( logical_line, 0, pos - 1 ) tail
|
||||||
|
|
||||||
|
|
||||||
|
for ( k = 0; k < asorti( break_pos, junk ); k++ )
|
||||||
|
if ( ( pos + removed_length ) <= break_pos[k] )
|
||||||
|
break_pos[k] = break_pos[k] - removed_length;
|
||||||
|
else if ( pos <= break_pos[k] )
|
||||||
|
break_pos[k] = -1;
|
||||||
|
|
||||||
|
return removed_length
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function shrink_spaces_to_linebreak( pos, \
|
||||||
|
junk, part_str, removed_length, i )
|
||||||
|
{
|
||||||
|
for ( i = 0; i < asorti( break_pos, junk ) && break_pos[i] < pos ; i++ )
|
||||||
|
;
|
||||||
|
|
||||||
|
if ( break_pos[i] < 1 )
|
||||||
|
return;
|
||||||
|
|
||||||
|
part_str = substr( logical_line, pos, break_pos[i] - pos + 1 )
|
||||||
|
sub( /^[ \t]+/, " ", part_str )
|
||||||
|
removed_length = ( break_pos[i] - pos + 1 ) - length( part_str )
|
||||||
|
|
||||||
|
tail = substr( logical_line, pos + removed_length )
|
||||||
|
logical_line = substr( logical_line, 0, pos - 1 ) tail
|
||||||
|
|
||||||
|
for ( ; i < asorti( break_pos, junk ); i++ )
|
||||||
|
break_pos[i] -= removed_length;
|
||||||
|
|
||||||
|
return removed_length
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function delete_linebreaks_in_2nd_token( \
|
||||||
|
tail, paren_depth, junk, i, j, k, l )
|
||||||
|
{
|
||||||
|
if ( logical_line ~ /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+\(/ )
|
||||||
|
{
|
||||||
|
tail = logical_line
|
||||||
|
sub( /^[ \t]*#[ \t]*define[ \t]+[0-9A-Za-z_]+/, "", tail )
|
||||||
|
|
||||||
|
paren_depth = 0
|
||||||
|
l = 0
|
||||||
|
i = length( logical_line ) - length( tail ) + 1 # seek to the 1st op paren
|
||||||
|
j = i
|
||||||
|
do {
|
||||||
|
if ( substr( logical_line, j, 2 ) ~ /[ \t][ \t]/ )
|
||||||
|
l = shrink_spaces( j );
|
||||||
|
else if ( substr( logical_line, j, 1 ) == "(" )
|
||||||
|
paren_depth += 1;
|
||||||
|
else if ( substr( logical_line, j, 1 ) == ")" )
|
||||||
|
paren_depth -= 1;
|
||||||
|
j += 1
|
||||||
|
} while ( j < length( logical_line ) && paren_depth != 0 )
|
||||||
|
|
||||||
|
for ( k = 0; k < asorti( break_pos, junk ); k++ )
|
||||||
|
if ( i <= break_pos[k] && break_pos[k] < j )
|
||||||
|
break_pos[k] = -1;
|
||||||
|
|
||||||
|
if ( l > 0 )
|
||||||
|
shrink_spaces_to_linebreak( j );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BEGIN{
|
||||||
|
init_cpp_src_line()
|
||||||
|
}
|
||||||
|
{
|
||||||
|
append_line( $0 )
|
||||||
|
if ( $0 !~ /\\$/ )
|
||||||
|
{
|
||||||
|
delete_linebreaks_in_2nd_token()
|
||||||
|
print_line()
|
||||||
|
init_cpp_src_line()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
END{
|
||||||
|
if ( 0 < length( logical_line ) )
|
||||||
|
{
|
||||||
|
delete_linebreaks_in_2nd_token()
|
||||||
|
print_line()
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,40 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
TOP_DIR=.
|
||||||
|
OBJ_DIR=.
|
||||||
|
|
||||||
|
for x in "$@"
|
||||||
|
do
|
||||||
|
case x"$x" in
|
||||||
|
x--srcdir=* | x--topdir=* )
|
||||||
|
TOP_DIR=`echo $x | sed 's/^--[a-z]*dir=//'`
|
||||||
|
;;
|
||||||
|
x--builddir=* | x--objdir=* )
|
||||||
|
OBJ_DIR=`echo $x | sed 's/^--[a-z]*dir=//'`
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
mkdir -p ${OBJ_DIR}/builds/atari/tmp/orig
|
||||||
|
|
||||||
|
( cd ${TOP_DIR} && find . -name '*.[CHch]' -type f | fgrep -v builds/atari/tmp | cpio -o ) | \
|
||||||
|
( cd ${OBJ_DIR}/builds/atari/tmp/orig && cpio -idum )
|
||||||
|
cp ${TOP_DIR}/builds/atari/deflinejoiner.awk ${OBJ_DIR}/builds/atari/tmp
|
||||||
|
|
||||||
|
pushd ${OBJ_DIR}/builds/atari/tmp
|
||||||
|
|
||||||
|
cp -pr orig purec
|
||||||
|
for f in `cd orig && find . -type f`
|
||||||
|
do
|
||||||
|
echo filter $f
|
||||||
|
env LANG=C awk -f deflinejoiner.awk < orig/$f > purec/$f
|
||||||
|
done
|
||||||
|
|
||||||
|
echo '#define FT2_BUILD_LIBRARY' > purec/include/ft2build.h
|
||||||
|
echo '#include "ATARI.H"' >> purec/include/ft2build.h
|
||||||
|
env LANG=C awk -f deflinejoiner.awk < orig/include/ft2build.h >> purec/include/ft2build.h
|
||||||
|
|
||||||
|
env LANG=C diff -ur orig purec > ../purec.diff
|
||||||
|
|
||||||
|
popd
|
||||||
|
rm -rf ${OBJ_DIR}/builds/atari/tmp
|
79
LVGL Simulator/LvglPlatform/freetype/builds/beos/beos-def.mk
Normal file
79
LVGL Simulator/LvglPlatform/freetype/builds/beos/beos-def.mk
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration rules for a BeOS system
|
||||||
|
#
|
||||||
|
# this is similar to the "ansi-def.mk" file, except for BUILD and PLATFORM
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
DELETE := rm -f
|
||||||
|
CAT := cat
|
||||||
|
SEP := /
|
||||||
|
PLATFORM_DIR := $(TOP_DIR)/builds/beos
|
||||||
|
PLATFORM := beos
|
||||||
|
|
||||||
|
# This is used for `make refdoc' and `make refdoc-venv'
|
||||||
|
#
|
||||||
|
BIN := bin
|
||||||
|
|
||||||
|
# The directory where all library files are placed.
|
||||||
|
#
|
||||||
|
# By default, this is the same as $(OBJ_DIR); however, this can be changed
|
||||||
|
# to suit particular needs.
|
||||||
|
#
|
||||||
|
LIB_DIR := $(OBJ_DIR)
|
||||||
|
|
||||||
|
|
||||||
|
# The name of the final library file. Note that the DOS-specific Makefile
|
||||||
|
# uses a shorter (8.3) name.
|
||||||
|
#
|
||||||
|
LIBRARY := lib$(PROJECT)
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := -I
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := -D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L := -l
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag.
|
||||||
|
#
|
||||||
|
T := -o$(space)
|
||||||
|
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
# Use the ANSIFLAGS variable to define the compiler flags used to enforce
|
||||||
|
# ANSI compliance.
|
||||||
|
#
|
||||||
|
CFLAGS ?= -c
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
#
|
||||||
|
ANSIFLAGS ?=
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
19
LVGL Simulator/LvglPlatform/freetype/builds/beos/beos.mk
Normal file
19
LVGL Simulator/LvglPlatform/freetype/builds/beos/beos.mk
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration rules for a BeOS system
|
||||||
|
#
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
include $(TOP_DIR)/builds/beos/beos-def.mk
|
||||||
|
include $(TOP_DIR)/builds/compiler/ansi-cc.mk
|
||||||
|
include $(TOP_DIR)/builds/link_std.mk
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
41
LVGL Simulator/LvglPlatform/freetype/builds/beos/detect.mk
Normal file
41
LVGL Simulator/LvglPlatform/freetype/builds/beos/detect.mk
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration file to detect an BeOS host platform.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: setup
|
||||||
|
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),ansi)
|
||||||
|
|
||||||
|
ifdef BE_HOST_CPU
|
||||||
|
|
||||||
|
PLATFORM := beos
|
||||||
|
|
||||||
|
endif # test MACHTYPE beos
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),beos)
|
||||||
|
|
||||||
|
DELETE := rm -f
|
||||||
|
CAT := cat
|
||||||
|
SEP := /
|
||||||
|
PLATFORM_DIR := $(TOP_DIR)/builds/beos
|
||||||
|
CONFIG_FILE := beos.mk
|
||||||
|
|
||||||
|
setup: std_setup
|
||||||
|
|
||||||
|
endif # test PLATFORM beos
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,52 @@
|
||||||
|
# FindBrotliDec.cmake
|
||||||
|
#
|
||||||
|
# Copyright (C) 2019-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# Written by Werner Lemberg <wl@gnu.org>
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Try to find libbrotlidec include and library directories.
|
||||||
|
#
|
||||||
|
# If found, the following variables are set.
|
||||||
|
#
|
||||||
|
# BROTLIDEC_INCLUDE_DIRS
|
||||||
|
# BROTLIDEC_LIBRARIES
|
||||||
|
|
||||||
|
find_package(PkgConfig QUIET)
|
||||||
|
|
||||||
|
pkg_check_modules(PC_BROTLIDEC QUIET libbrotlidec)
|
||||||
|
|
||||||
|
if (PC_BROTLIDEC_VERSION)
|
||||||
|
set(BROTLIDEC_VERSION "${PC_BROTLIDEC_VERSION}")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
|
||||||
|
find_path(BROTLIDEC_INCLUDE_DIRS
|
||||||
|
NAMES brotli/decode.h
|
||||||
|
HINTS ${PC_BROTLIDEC_INCLUDEDIR}
|
||||||
|
${PC_BROTLIDEC_INCLUDE_DIRS}
|
||||||
|
PATH_SUFFIXES brotli)
|
||||||
|
|
||||||
|
find_library(BROTLIDEC_LIBRARIES
|
||||||
|
NAMES brotlidec
|
||||||
|
HINTS ${PC_BROTLIDEC_LIBDIR}
|
||||||
|
${PC_BROTLIDEC_LIBRARY_DIRS})
|
||||||
|
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(
|
||||||
|
BrotliDec
|
||||||
|
REQUIRED_VARS BROTLIDEC_INCLUDE_DIRS BROTLIDEC_LIBRARIES
|
||||||
|
FOUND_VAR BROTLIDEC_FOUND
|
||||||
|
VERSION_VAR BROTLIDEC_VERSION)
|
||||||
|
|
||||||
|
mark_as_advanced(
|
||||||
|
BROTLIDEC_INCLUDE_DIRS
|
||||||
|
BROTLIDEC_LIBRARIES)
|
|
@ -0,0 +1,203 @@
|
||||||
|
# Copyright (c) 2012, Intel Corporation
|
||||||
|
# Copyright (c) 2019 Sony Interactive Entertainment Inc.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# * Redistributions of source code must retain the above copyright notice, this
|
||||||
|
# list of conditions and the following disclaimer.
|
||||||
|
# * Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
# this list of conditions and the following disclaimer in the documentation
|
||||||
|
# and/or other materials provided with the distribution.
|
||||||
|
# * Neither the name of Intel Corporation nor the names of its contributors may
|
||||||
|
# be used to endorse or promote products derived from this software without
|
||||||
|
# specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||||
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||||
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
# POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
# Try to find Harfbuzz include and library directories.
|
||||||
|
#
|
||||||
|
# After successful discovery, this will set for inclusion where needed:
|
||||||
|
# HarfBuzz_INCLUDE_DIRS - containg the HarfBuzz headers
|
||||||
|
# HarfBuzz_LIBRARIES - containg the HarfBuzz library
|
||||||
|
|
||||||
|
#[=======================================================================[.rst:
|
||||||
|
FindHarfBuzz
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Find HarfBuzz headers and libraries.
|
||||||
|
|
||||||
|
Imported Targets
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
``HarfBuzz::HarfBuzz``
|
||||||
|
The HarfBuzz library, if found.
|
||||||
|
|
||||||
|
``HarfBuzz::ICU``
|
||||||
|
The HarfBuzz ICU library, if found.
|
||||||
|
|
||||||
|
Result Variables
|
||||||
|
^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
This will define the following variables in your project:
|
||||||
|
|
||||||
|
``HarfBuzz_FOUND``
|
||||||
|
true if (the requested version of) HarfBuzz is available.
|
||||||
|
``HarfBuzz_VERSION``
|
||||||
|
the version of HarfBuzz.
|
||||||
|
``HarfBuzz_LIBRARIES``
|
||||||
|
the libraries to link against to use HarfBuzz.
|
||||||
|
``HarfBuzz_INCLUDE_DIRS``
|
||||||
|
where to find the HarfBuzz headers.
|
||||||
|
``HarfBuzz_COMPILE_OPTIONS``
|
||||||
|
this should be passed to target_compile_options(), if the
|
||||||
|
target is not used for linking
|
||||||
|
|
||||||
|
#]=======================================================================]
|
||||||
|
|
||||||
|
find_package(PkgConfig QUIET)
|
||||||
|
pkg_check_modules(PC_HARFBUZZ QUIET harfbuzz)
|
||||||
|
set(HarfBuzz_COMPILE_OPTIONS ${PC_HARFBUZZ_CFLAGS_OTHER})
|
||||||
|
set(HarfBuzz_VERSION ${PC_HARFBUZZ_CFLAGS_VERSION})
|
||||||
|
|
||||||
|
find_path(HarfBuzz_INCLUDE_DIR
|
||||||
|
NAMES hb.h
|
||||||
|
HINTS ${PC_HARFBUZZ_INCLUDEDIR} ${PC_HARFBUZZ_INCLUDE_DIRS}
|
||||||
|
PATH_SUFFIXES harfbuzz
|
||||||
|
)
|
||||||
|
|
||||||
|
find_library(HarfBuzz_LIBRARY
|
||||||
|
NAMES ${HarfBuzz_NAMES} harfbuzz
|
||||||
|
HINTS ${PC_HARFBUZZ_LIBDIR} ${PC_HARFBUZZ_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
if (HarfBuzz_INCLUDE_DIR AND NOT HarfBuzz_VERSION)
|
||||||
|
if (EXISTS "${HarfBuzz_INCLUDE_DIR}/hb-version.h")
|
||||||
|
file(READ "${HarfBuzz_INCLUDE_DIR}/hb-version.h" _harfbuzz_version_content)
|
||||||
|
|
||||||
|
string(REGEX MATCH "#define +HB_VERSION_STRING +\"([0-9]+\\.[0-9]+\\.[0-9]+)\"" _dummy "${_harfbuzz_version_content}")
|
||||||
|
set(HarfBuzz_VERSION "${CMAKE_MATCH_1}")
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if ("${HarfBuzz_FIND_VERSION}" VERSION_GREATER "${HarfBuzz_VERSION}")
|
||||||
|
if (HarfBuzz_FIND_REQUIRED)
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"Required version (" ${HarfBuzz_FIND_VERSION} ")"
|
||||||
|
" is higher than found version (" ${HarfBuzz_VERSION} ")")
|
||||||
|
else ()
|
||||||
|
message(WARNING
|
||||||
|
"Required version (" ${HarfBuzz_FIND_VERSION} ")"
|
||||||
|
" is higher than found version (" ${HarfBuzz_VERSION} ")")
|
||||||
|
unset(HarfBuzz_VERSION)
|
||||||
|
unset(HarfBuzz_INCLUDE_DIRS)
|
||||||
|
unset(HarfBuzz_LIBRARIES)
|
||||||
|
return ()
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
# Find components
|
||||||
|
if (HarfBuzz_INCLUDE_DIR AND HarfBuzz_LIBRARY)
|
||||||
|
set(_HarfBuzz_REQUIRED_LIBS_FOUND ON)
|
||||||
|
set(HarfBuzz_LIBS_FOUND "HarfBuzz (required): ${HarfBuzz_LIBRARY}")
|
||||||
|
else ()
|
||||||
|
set(_HarfBuzz_REQUIRED_LIBS_FOUND OFF)
|
||||||
|
set(HarfBuzz_LIBS_NOT_FOUND "HarfBuzz (required)")
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (NOT CMAKE_VERSION VERSION_LESS 3.3)
|
||||||
|
if ("ICU" IN_LIST HarfBuzz_FIND_COMPONENTS)
|
||||||
|
pkg_check_modules(PC_HARFBUZZ_ICU QUIET harfbuzz-icu)
|
||||||
|
set(HarfBuzz_ICU_COMPILE_OPTIONS ${PC_HARFBUZZ_ICU_CFLAGS_OTHER})
|
||||||
|
|
||||||
|
find_path(HarfBuzz_ICU_INCLUDE_DIR
|
||||||
|
NAMES hb-icu.h
|
||||||
|
HINTS ${PC_HARFBUZZ_ICU_INCLUDEDIR} ${PC_HARFBUZZ_ICU_INCLUDE_DIRS}
|
||||||
|
PATH_SUFFIXES harfbuzz
|
||||||
|
)
|
||||||
|
|
||||||
|
find_library(HarfBuzz_ICU_LIBRARY
|
||||||
|
NAMES ${HarfBuzz_ICU_NAMES} harfbuzz-icu
|
||||||
|
HINTS ${PC_HARFBUZZ_ICU_LIBDIR} ${PC_HARFBUZZ_ICU_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
if (HarfBuzz_ICU_LIBRARY)
|
||||||
|
if (HarfBuzz_FIND_REQUIRED_ICU)
|
||||||
|
list(APPEND HarfBuzz_LIBS_FOUND "ICU (required): ${HarfBuzz_ICU_LIBRARY}")
|
||||||
|
else ()
|
||||||
|
list(APPEND HarfBuzz_LIBS_FOUND "ICU (optional): ${HarfBuzz_ICU_LIBRARY}")
|
||||||
|
endif ()
|
||||||
|
else ()
|
||||||
|
if (HarfBuzz_FIND_REQUIRED_ICU)
|
||||||
|
set(_HarfBuzz_REQUIRED_LIBS_FOUND OFF)
|
||||||
|
list(APPEND HarfBuzz_LIBS_NOT_FOUND "ICU (required)")
|
||||||
|
else ()
|
||||||
|
list(APPEND HarfBuzz_LIBS_NOT_FOUND "ICU (optional)")
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (NOT HarfBuzz_FIND_QUIETLY)
|
||||||
|
if (HarfBuzz_LIBS_FOUND)
|
||||||
|
message(STATUS "Found the following HarfBuzz libraries:")
|
||||||
|
foreach (found ${HarfBuzz_LIBS_FOUND})
|
||||||
|
message(STATUS " ${found}")
|
||||||
|
endforeach ()
|
||||||
|
endif ()
|
||||||
|
if (HarfBuzz_LIBS_NOT_FOUND)
|
||||||
|
message(STATUS "The following HarfBuzz libraries were not found:")
|
||||||
|
foreach (found ${HarfBuzz_LIBS_NOT_FOUND})
|
||||||
|
message(STATUS " ${found}")
|
||||||
|
endforeach ()
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(HarfBuzz
|
||||||
|
FOUND_VAR HarfBuzz_FOUND
|
||||||
|
REQUIRED_VARS HarfBuzz_INCLUDE_DIR HarfBuzz_LIBRARY _HarfBuzz_REQUIRED_LIBS_FOUND
|
||||||
|
VERSION_VAR HarfBuzz_VERSION
|
||||||
|
)
|
||||||
|
|
||||||
|
if (NOT CMAKE_VERSION VERSION_LESS 3.1)
|
||||||
|
if (HarfBuzz_LIBRARY AND NOT TARGET HarfBuzz::HarfBuzz)
|
||||||
|
add_library(HarfBuzz::HarfBuzz UNKNOWN IMPORTED GLOBAL)
|
||||||
|
set_target_properties(HarfBuzz::HarfBuzz PROPERTIES
|
||||||
|
IMPORTED_LOCATION "${HarfBuzz_LIBRARY}"
|
||||||
|
INTERFACE_COMPILE_OPTIONS "${HarfBuzz_COMPILE_OPTIONS}"
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${HarfBuzz_INCLUDE_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
if (HarfBuzz_ICU_LIBRARY AND NOT TARGET HarfBuzz::ICU)
|
||||||
|
add_library(HarfBuzz::ICU UNKNOWN IMPORTED GLOBAL)
|
||||||
|
set_target_properties(HarfBuzz::ICU PROPERTIES
|
||||||
|
IMPORTED_LOCATION "${HarfBuzz_ICU_LIBRARY}"
|
||||||
|
INTERFACE_COMPILE_OPTIONS "${HarfBuzz_ICU_COMPILE_OPTIONS}"
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${HarfBuzz_ICU_INCLUDE_DIR}"
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
mark_as_advanced(
|
||||||
|
HarfBuzz_INCLUDE_DIR
|
||||||
|
HarfBuzz_ICU_INCLUDE_DIR
|
||||||
|
HarfBuzz_LIBRARY
|
||||||
|
HarfBuzz_ICU_LIBRARY
|
||||||
|
)
|
||||||
|
|
||||||
|
if (HarfBuzz_FOUND)
|
||||||
|
set(HarfBuzz_LIBRARIES ${HarfBuzz_LIBRARY} ${HarfBuzz_ICU_LIBRARY})
|
||||||
|
set(HarfBuzz_INCLUDE_DIRS ${HarfBuzz_INCLUDE_DIR} ${HarfBuzz_ICU_INCLUDE_DIR})
|
||||||
|
endif ()
|
270
LVGL Simulator/LvglPlatform/freetype/builds/cmake/iOS.cmake
Normal file
270
LVGL Simulator/LvglPlatform/freetype/builds/cmake/iOS.cmake
Normal file
|
@ -0,0 +1,270 @@
|
||||||
|
# iOS.cmake
|
||||||
|
#
|
||||||
|
# Copyright (C) 2014-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# Written by David Wimsey <david@wimsey.us>
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# This file is derived from the files `Platform/Darwin.cmake' and
|
||||||
|
# `Platform/UnixPaths.cmake', which are part of CMake 2.8.4. It has been
|
||||||
|
# altered for iOS development.
|
||||||
|
|
||||||
|
|
||||||
|
# Options
|
||||||
|
# -------
|
||||||
|
#
|
||||||
|
# IOS_PLATFORM = OS | SIMULATOR
|
||||||
|
#
|
||||||
|
# This decides whether SDKS are selected from the `iPhoneOS.platform' or
|
||||||
|
# `iPhoneSimulator.platform' folders.
|
||||||
|
#
|
||||||
|
# OS - the default, used to build for iPhone and iPad physical devices,
|
||||||
|
# which have an ARM architecture.
|
||||||
|
# SIMULATOR - used to build for the Simulator platforms, which have an
|
||||||
|
# x86 architecture.
|
||||||
|
#
|
||||||
|
# CMAKE_IOS_DEVELOPER_ROOT = /path/to/platform/Developer folder
|
||||||
|
#
|
||||||
|
# By default, this location is automatically chosen based on the
|
||||||
|
# IOS_PLATFORM value above. If you manually set this variable, it
|
||||||
|
# overrides the default location and forces the use of a particular
|
||||||
|
# Developer Platform.
|
||||||
|
#
|
||||||
|
# CMAKE_IOS_SDK_ROOT = /path/to/platform/Developer/SDKs/SDK folder
|
||||||
|
#
|
||||||
|
# By default, this location is automatically chosen based on the
|
||||||
|
# CMAKE_IOS_DEVELOPER_ROOT value. In this case it is always the most
|
||||||
|
# up-to-date SDK found in the CMAKE_IOS_DEVELOPER_ROOT path. If you
|
||||||
|
# manually set this variable, it forces the use of a specific SDK
|
||||||
|
# version.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Macros
|
||||||
|
# ------
|
||||||
|
#
|
||||||
|
# set_xcode_property (TARGET XCODE_PROPERTY XCODE_VALUE)
|
||||||
|
#
|
||||||
|
# A convenience macro for setting Xcode specific properties on targets.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
#
|
||||||
|
# set_xcode_property(myioslib IPHONEOS_DEPLOYMENT_TARGET "3.1")
|
||||||
|
#
|
||||||
|
# find_host_package (PROGRAM ARGS)
|
||||||
|
#
|
||||||
|
# A macro to find executable programs on the host system, not within the
|
||||||
|
# iOS environment. Thanks to the `android-cmake' project for providing
|
||||||
|
# the command.
|
||||||
|
|
||||||
|
|
||||||
|
# standard settings
|
||||||
|
set(CMAKE_SYSTEM_NAME Darwin)
|
||||||
|
set(CMAKE_SYSTEM_VERSION 1)
|
||||||
|
set(UNIX True)
|
||||||
|
set(APPLE True)
|
||||||
|
set(IOS True)
|
||||||
|
|
||||||
|
# required as of cmake 2.8.10
|
||||||
|
set(CMAKE_OSX_DEPLOYMENT_TARGET ""
|
||||||
|
CACHE STRING "Force unset of the deployment target for iOS" FORCE
|
||||||
|
)
|
||||||
|
|
||||||
|
# determine the cmake host system version so we know where to find the iOS
|
||||||
|
# SDKs
|
||||||
|
find_program(CMAKE_UNAME uname /bin /usr/bin /usr/local/bin)
|
||||||
|
if (CMAKE_UNAME)
|
||||||
|
exec_program(uname ARGS -r OUTPUT_VARIABLE CMAKE_HOST_SYSTEM_VERSION)
|
||||||
|
string(REGEX REPLACE "^([0-9]+)\\.([0-9]+).*$" "\\1"
|
||||||
|
DARWIN_MAJOR_VERSION "${CMAKE_HOST_SYSTEM_VERSION}")
|
||||||
|
endif (CMAKE_UNAME)
|
||||||
|
|
||||||
|
# skip the platform compiler checks for cross compiling
|
||||||
|
set(CMAKE_CXX_COMPILER_WORKS TRUE)
|
||||||
|
set(CMAKE_C_COMPILER_WORKS TRUE)
|
||||||
|
|
||||||
|
# all iOS/Darwin specific settings - some may be redundant
|
||||||
|
set(CMAKE_SHARED_LIBRARY_PREFIX "lib")
|
||||||
|
set(CMAKE_SHARED_LIBRARY_SUFFIX ".dylib")
|
||||||
|
set(CMAKE_SHARED_MODULE_PREFIX "lib")
|
||||||
|
set(CMAKE_SHARED_MODULE_SUFFIX ".so")
|
||||||
|
set(CMAKE_MODULE_EXISTS 1)
|
||||||
|
set(CMAKE_DL_LIBS "")
|
||||||
|
|
||||||
|
set(CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG
|
||||||
|
"-compatibility_version ")
|
||||||
|
set(CMAKE_C_OSX_CURRENT_VERSION_FLAG
|
||||||
|
"-current_version ")
|
||||||
|
set(CMAKE_CXX_OSX_COMPATIBILITY_VERSION_FLAG
|
||||||
|
"${CMAKE_C_OSX_COMPATIBILITY_VERSION_FLAG}")
|
||||||
|
set(CMAKE_CXX_OSX_CURRENT_VERSION_FLAG
|
||||||
|
"${CMAKE_C_OSX_CURRENT_VERSION_FLAG}")
|
||||||
|
|
||||||
|
# hidden visibility is required for cxx on iOS
|
||||||
|
set(CMAKE_C_FLAGS_INIT "")
|
||||||
|
set(CMAKE_CXX_FLAGS_INIT
|
||||||
|
"-headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden")
|
||||||
|
|
||||||
|
set(CMAKE_C_LINK_FLAGS
|
||||||
|
"-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}")
|
||||||
|
set(CMAKE_CXX_LINK_FLAGS
|
||||||
|
"-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}")
|
||||||
|
|
||||||
|
set(CMAKE_PLATFORM_HAS_INSTALLNAME 1)
|
||||||
|
set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS
|
||||||
|
"-dynamiclib -headerpad_max_install_names")
|
||||||
|
set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
|
||||||
|
"-bundle -headerpad_max_install_names")
|
||||||
|
set(CMAKE_SHARED_MODULE_LOADER_C_FLAG
|
||||||
|
"-Wl,-bundle_loader,")
|
||||||
|
set(CMAKE_SHARED_MODULE_LOADER_CXX_FLAG
|
||||||
|
"-Wl,-bundle_loader,")
|
||||||
|
set(CMAKE_FIND_LIBRARY_SUFFIXES
|
||||||
|
".dylib" ".so" ".a")
|
||||||
|
|
||||||
|
# hack: If a new cmake (which uses CMAKE_INSTALL_NAME_TOOL) runs on an old
|
||||||
|
# build tree (where `install_name_tool' was hardcoded), and where
|
||||||
|
# CMAKE_INSTALL_NAME_TOOL isn't in the cache and still cmake didn't
|
||||||
|
# fail in `CMakeFindBinUtils.cmake' (because it isn't rerun), hardcode
|
||||||
|
# CMAKE_INSTALL_NAME_TOOL here to `install_name_tool' so it behaves as
|
||||||
|
# it did before.
|
||||||
|
if (NOT DEFINED CMAKE_INSTALL_NAME_TOOL)
|
||||||
|
find_program(CMAKE_INSTALL_NAME_TOOL install_name_tool)
|
||||||
|
endif (NOT DEFINED CMAKE_INSTALL_NAME_TOOL)
|
||||||
|
|
||||||
|
# set up iOS platform unless specified manually with IOS_PLATFORM
|
||||||
|
if (NOT DEFINED IOS_PLATFORM)
|
||||||
|
set(IOS_PLATFORM "OS")
|
||||||
|
endif (NOT DEFINED IOS_PLATFORM)
|
||||||
|
|
||||||
|
set(IOS_PLATFORM ${IOS_PLATFORM} CACHE STRING "Type of iOS Platform")
|
||||||
|
|
||||||
|
# check the platform selection and setup for developer root
|
||||||
|
if (${IOS_PLATFORM} STREQUAL "OS")
|
||||||
|
set(IOS_PLATFORM_LOCATION "iPhoneOS.platform")
|
||||||
|
|
||||||
|
# this causes the installers to properly locate the output libraries
|
||||||
|
set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos")
|
||||||
|
|
||||||
|
elseif (${IOS_PLATFORM} STREQUAL "SIMULATOR")
|
||||||
|
set(IOS_PLATFORM_LOCATION "iPhoneSimulator.platform")
|
||||||
|
|
||||||
|
# this causes the installers to properly locate the output libraries
|
||||||
|
set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphonesimulator")
|
||||||
|
|
||||||
|
else (${IOS_PLATFORM} STREQUAL "OS")
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"Unsupported IOS_PLATFORM value selected. Please choose OS or SIMULATOR.")
|
||||||
|
|
||||||
|
endif (${IOS_PLATFORM} STREQUAL "OS")
|
||||||
|
|
||||||
|
# set up iOS developer location unless specified manually with
|
||||||
|
# CMAKE_IOS_DEVELOPER_ROOT --
|
||||||
|
# note that Xcode 4.3 changed the installation location; choose the most
|
||||||
|
# recent one available
|
||||||
|
set(XCODE_POST_43_ROOT
|
||||||
|
"/Applications/Xcode.app/Contents/Developer/Platforms/${IOS_PLATFORM_LOCATION}/Developer")
|
||||||
|
set(XCODE_PRE_43_ROOT
|
||||||
|
"/Developer/Platforms/${IOS_PLATFORM_LOCATION}/Developer")
|
||||||
|
|
||||||
|
if (NOT DEFINED CMAKE_IOS_DEVELOPER_ROOT)
|
||||||
|
if (EXISTS ${XCODE_POST_43_ROOT})
|
||||||
|
set(CMAKE_IOS_DEVELOPER_ROOT ${XCODE_POST_43_ROOT})
|
||||||
|
elseif (EXISTS ${XCODE_PRE_43_ROOT})
|
||||||
|
set(CMAKE_IOS_DEVELOPER_ROOT ${XCODE_PRE_43_ROOT})
|
||||||
|
endif (EXISTS ${XCODE_POST_43_ROOT})
|
||||||
|
endif (NOT DEFINED CMAKE_IOS_DEVELOPER_ROOT)
|
||||||
|
|
||||||
|
set(CMAKE_IOS_DEVELOPER_ROOT ${CMAKE_IOS_DEVELOPER_ROOT}
|
||||||
|
CACHE PATH "Location of iOS Platform"
|
||||||
|
)
|
||||||
|
|
||||||
|
# find and use the most recent iOS SDK unless specified manually with
|
||||||
|
# CMAKE_IOS_SDK_ROOT
|
||||||
|
if (NOT DEFINED CMAKE_IOS_SDK_ROOT)
|
||||||
|
file(GLOB _CMAKE_IOS_SDKS "${CMAKE_IOS_DEVELOPER_ROOT}/SDKs/*")
|
||||||
|
if (_CMAKE_IOS_SDKS)
|
||||||
|
list(SORT _CMAKE_IOS_SDKS)
|
||||||
|
list(REVERSE _CMAKE_IOS_SDKS)
|
||||||
|
list(GET _CMAKE_IOS_SDKS 0 CMAKE_IOS_SDK_ROOT)
|
||||||
|
else (_CMAKE_IOS_SDKS)
|
||||||
|
message(FATAL_ERROR
|
||||||
|
"No iOS SDK's found in default search path ${CMAKE_IOS_DEVELOPER_ROOT}. Manually set CMAKE_IOS_SDK_ROOT or install the iOS SDK.")
|
||||||
|
endif (_CMAKE_IOS_SDKS)
|
||||||
|
|
||||||
|
message(STATUS "Toolchain using default iOS SDK: ${CMAKE_IOS_SDK_ROOT}")
|
||||||
|
endif (NOT DEFINED CMAKE_IOS_SDK_ROOT)
|
||||||
|
|
||||||
|
set(CMAKE_IOS_SDK_ROOT ${CMAKE_IOS_SDK_ROOT}
|
||||||
|
CACHE PATH "Location of the selected iOS SDK"
|
||||||
|
)
|
||||||
|
|
||||||
|
# set the sysroot default to the most recent SDK
|
||||||
|
set(CMAKE_OSX_SYSROOT ${CMAKE_IOS_SDK_ROOT}
|
||||||
|
CACHE PATH "Sysroot used for iOS support"
|
||||||
|
)
|
||||||
|
|
||||||
|
# set the architecture for iOS --
|
||||||
|
# note that currently both ARCHS_STANDARD_32_BIT and
|
||||||
|
# ARCHS_UNIVERSAL_IPHONE_OS set armv7 only, so set both manually
|
||||||
|
if (${IOS_PLATFORM} STREQUAL "OS")
|
||||||
|
set(IOS_ARCH $(ARCHS_STANDARD_32_64_BIT))
|
||||||
|
else (${IOS_PLATFORM} STREQUAL "OS")
|
||||||
|
set(IOS_ARCH i386)
|
||||||
|
endif (${IOS_PLATFORM} STREQUAL "OS")
|
||||||
|
|
||||||
|
set(CMAKE_OSX_ARCHITECTURES ${IOS_ARCH}
|
||||||
|
CACHE string "Build architecture for iOS"
|
||||||
|
)
|
||||||
|
|
||||||
|
# set the find root to the iOS developer roots and to user defined paths
|
||||||
|
set(CMAKE_FIND_ROOT_PATH
|
||||||
|
${CMAKE_IOS_DEVELOPER_ROOT}
|
||||||
|
${CMAKE_IOS_SDK_ROOT}
|
||||||
|
${CMAKE_PREFIX_PATH}
|
||||||
|
CACHE string "iOS find search path root"
|
||||||
|
)
|
||||||
|
|
||||||
|
# default to searching for frameworks first
|
||||||
|
set(CMAKE_FIND_FRAMEWORK FIRST)
|
||||||
|
|
||||||
|
# set up the default search directories for frameworks
|
||||||
|
set(CMAKE_SYSTEM_FRAMEWORK_PATH
|
||||||
|
${CMAKE_IOS_SDK_ROOT}/System/Library/Frameworks
|
||||||
|
${CMAKE_IOS_SDK_ROOT}/System/Library/PrivateFrameworks
|
||||||
|
${CMAKE_IOS_SDK_ROOT}/Developer/Library/Frameworks
|
||||||
|
)
|
||||||
|
|
||||||
|
# only search the iOS SDKs, not the remainder of the host filesystem
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
|
||||||
|
# this little macro lets you set any Xcode specific property
|
||||||
|
macro(set_xcode_property TARGET XCODE_PROPERTY XCODE_VALUE)
|
||||||
|
set_property(TARGET ${TARGET}
|
||||||
|
PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY} ${XCODE_VALUE})
|
||||||
|
endmacro(set_xcode_property)
|
||||||
|
|
||||||
|
# this macro lets you find executable programs on the host system
|
||||||
|
macro(find_host_package)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER)
|
||||||
|
set(IOS FALSE)
|
||||||
|
|
||||||
|
find_package(${ARGN})
|
||||||
|
|
||||||
|
set(IOS TRUE)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
|
||||||
|
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
|
||||||
|
endmacro(find_host_package)
|
||||||
|
|
||||||
|
# eof
|
157
LVGL Simulator/LvglPlatform/freetype/builds/cmake/testbuild.sh
Normal file
157
LVGL Simulator/LvglPlatform/freetype/builds/cmake/testbuild.sh
Normal file
|
@ -0,0 +1,157 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
# Copyright (C) 2015-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
# This script tests the CMake build. Simply run
|
||||||
|
#
|
||||||
|
# builds/cmake/testbuild.sh
|
||||||
|
#
|
||||||
|
# or
|
||||||
|
#
|
||||||
|
# BUILD_SHARED_LIBS=1 builds/cmake/testbuild.sh
|
||||||
|
#
|
||||||
|
# The script:
|
||||||
|
#
|
||||||
|
# - builds the main CMakeLists.txt
|
||||||
|
# - builds and runs a small test app in a separate build tree so
|
||||||
|
# the config-module is tested, too
|
||||||
|
#
|
||||||
|
# Options (environment variables):
|
||||||
|
#
|
||||||
|
# - The variable BUILD_SHARED_LIBS will be forwarded to the CMake project
|
||||||
|
# that builds the library.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# prepare temporary dir
|
||||||
|
|
||||||
|
cd `dirname $0`/../..
|
||||||
|
ftdir=`pwd`
|
||||||
|
tmpdir=/tmp/freetype-cmake-testbuild
|
||||||
|
rm -rf $tmpdir
|
||||||
|
mkdir -p $tmpdir
|
||||||
|
|
||||||
|
|
||||||
|
# build and install freetype
|
||||||
|
|
||||||
|
if test -n "$BUILD_SHARED_LIBS"; then
|
||||||
|
bsl=-DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS
|
||||||
|
else
|
||||||
|
bsl=-UBUILD_SHARED_LIBS
|
||||||
|
fi
|
||||||
|
|
||||||
|
build_opts="-DWITH_ZLIB=0 \
|
||||||
|
-DWITH_BZip2=0 \
|
||||||
|
-DWITH_PNG=0 \
|
||||||
|
-DWITH_HarfBuzz=0 \
|
||||||
|
$bsl \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=$tmpdir/out"
|
||||||
|
|
||||||
|
(set -x; cmake -H$ftdir \
|
||||||
|
-B$tmpdir/ftb \
|
||||||
|
-DCMAKE_BUILD_TYPE=Debug \
|
||||||
|
$build_opts)
|
||||||
|
(set -x; cmake --build $tmpdir/ftb \
|
||||||
|
--config Debug \
|
||||||
|
--target install)
|
||||||
|
|
||||||
|
(set -x; cmake $tmpdir/ftb \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release)
|
||||||
|
(set -x; cmake --build $tmpdir/ftb \
|
||||||
|
--config Release \
|
||||||
|
--target install \
|
||||||
|
--clean-first)
|
||||||
|
|
||||||
|
|
||||||
|
# create test project CMakeLists.txt
|
||||||
|
|
||||||
|
cat >$tmpdir/CMakeLists.txt << END
|
||||||
|
cmake_minimum_required(VERSION 2.6)
|
||||||
|
project(freetype-cmake-testbuild)
|
||||||
|
|
||||||
|
find_package(Freetype REQUIRED CONFIG)
|
||||||
|
|
||||||
|
add_executable(freetype-cmake-test main.c)
|
||||||
|
target_link_libraries(freetype-cmake-test freetype)
|
||||||
|
|
||||||
|
enable_testing()
|
||||||
|
add_test(freetype-cmake-test freetype-cmake-test)
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
|
# create test project main.c
|
||||||
|
|
||||||
|
cat >$tmpdir/main.c << END
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#include <ft2build.h>
|
||||||
|
#include <freetype/freetype.h>
|
||||||
|
|
||||||
|
|
||||||
|
FT_Library library;
|
||||||
|
|
||||||
|
|
||||||
|
int main(int argc,
|
||||||
|
char*argv[])
|
||||||
|
{
|
||||||
|
FT_Error error;
|
||||||
|
FT_Int major = 0;
|
||||||
|
FT_Int minor = 0;
|
||||||
|
FT_Int patch = 0;
|
||||||
|
|
||||||
|
error = FT_Init_FreeType(&library);
|
||||||
|
if (error)
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
|
FT_Library_Version(library, &major, &minor, &patch);
|
||||||
|
if (major != FREETYPE_MAJOR
|
||||||
|
|| minor != FREETYPE_MINOR
|
||||||
|
|| patch != FREETYPE_PATCH)
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
|
printf("FT_Library_Version: %d.%d.%d\n", major, minor, patch);
|
||||||
|
|
||||||
|
error = FT_Done_FreeType(library);
|
||||||
|
if (error)
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
|
END
|
||||||
|
|
||||||
|
|
||||||
|
# build and test
|
||||||
|
|
||||||
|
mkdir -p $tmpdir/tb
|
||||||
|
cd $tmpdir/tb
|
||||||
|
|
||||||
|
LD_LIBRARY_PATH=$tmpdir/out/lib:$LD_LIBRARY_PATH
|
||||||
|
DYLD_LIBRARY_PATH=$tmpdir/out/lib:$DYLD_LIBRARY_PATH
|
||||||
|
export LD_LIBRARY_PATH
|
||||||
|
export DYLD_LIBRARY_PATH
|
||||||
|
|
||||||
|
(set -x; cmake $tmpdir \
|
||||||
|
-DCMAKE_BUILD_TYPE=Debug \
|
||||||
|
-DCMAKE_PREFIX_PATH=$tmpdir/out)
|
||||||
|
(set -x; cmake --build . \
|
||||||
|
--config Debug)
|
||||||
|
(set -x; ctest -V -C Debug)
|
||||||
|
|
||||||
|
(set -x; cmake . \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release)
|
||||||
|
(set -x; cmake --build . \
|
||||||
|
--config Release \
|
||||||
|
--clean-first)
|
||||||
|
(set -x; ctest -V -C Release)
|
||||||
|
|
||||||
|
rm -rf $tmpdir
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,80 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 generic pseudo ANSI compiler
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler command line name
|
||||||
|
#
|
||||||
|
CC := cc
|
||||||
|
COMPILER_SEP := $(SEP)
|
||||||
|
|
||||||
|
|
||||||
|
# The object file extension (for standard and static libraries). This can be
|
||||||
|
# .o, .tco, .obj, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
O := o
|
||||||
|
SO := o
|
||||||
|
|
||||||
|
# The library file extension (for standard and static libraries). This can
|
||||||
|
# be .a, .lib, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
A := a
|
||||||
|
SA := a
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := -I
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := -D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L := -l
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag.
|
||||||
|
#
|
||||||
|
T := -o$(space)
|
||||||
|
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
# Use the ANSIFLAGS variable to define the compiler flags used to enforce
|
||||||
|
# ANSI compliance.
|
||||||
|
#
|
||||||
|
CFLAGS ?= -c
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
#
|
||||||
|
# we assume the compiler is already strictly ANSI
|
||||||
|
#
|
||||||
|
ANSIFLAGS ?=
|
||||||
|
|
||||||
|
|
||||||
|
# Library linking
|
||||||
|
#
|
||||||
|
CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||||
|
LINK_LIBRARY = $(AR) -r $@ $(subst /,$(COMPILER_SEP),$(OBJECTS_LIST))
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,86 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Borland C++-specific with NO OPTIMIZATIONS + DEBUGGING
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler command line name
|
||||||
|
#
|
||||||
|
CC := bcc32
|
||||||
|
COMPILER_SEP := $(SEP)
|
||||||
|
|
||||||
|
|
||||||
|
# The object file extension (for standard and static libraries). This can be
|
||||||
|
# .o, .tco, .obj, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
O := obj
|
||||||
|
SO := obj
|
||||||
|
|
||||||
|
# The library file extension (for standard and static libraries). This can
|
||||||
|
# be .a, .lib, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
A := lib
|
||||||
|
SA := lib
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := -I
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := -D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L :=
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag -- no trailing space.
|
||||||
|
#
|
||||||
|
T := -o
|
||||||
|
TE := -e
|
||||||
|
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
# Use the ANSIFLAGS variable to define the compiler flags used to enforce
|
||||||
|
# ANSI compliance.
|
||||||
|
#
|
||||||
|
CFLAGS ?= -q -c -y -d -v -Od -w-par -w-ccc -w-rch -w-pro -w-aus
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
#
|
||||||
|
ANSIFLAGS ?= -A
|
||||||
|
|
||||||
|
|
||||||
|
# Library linking
|
||||||
|
#
|
||||||
|
CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||||
|
LINK_LIBRARY = tlib /u /P128 $(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST:%=+%))
|
||||||
|
|
||||||
|
|
||||||
|
# Borland C++ specific temporary files
|
||||||
|
#
|
||||||
|
CLEAN += \
|
||||||
|
$(subst /,$(SEP),$(TOP_DIR)/apinames.$(O)) \
|
||||||
|
$(subst /,$(SEP),$(OBJ_DIR)/apinames.tds)
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
86
LVGL Simulator/LvglPlatform/freetype/builds/compiler/bcc.mk
Normal file
86
LVGL Simulator/LvglPlatform/freetype/builds/compiler/bcc.mk
Normal file
|
@ -0,0 +1,86 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Borland C++-specific rules
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler command line name
|
||||||
|
#
|
||||||
|
CC := bcc32
|
||||||
|
COMPILER_SEP := $(SEP)
|
||||||
|
|
||||||
|
|
||||||
|
# The object file extension (for standard and static libraries). This can be
|
||||||
|
# .o, .tco, .obj, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
O := obj
|
||||||
|
SO := obj
|
||||||
|
|
||||||
|
# The library file extension (for standard and static libraries). This can
|
||||||
|
# be .a, .lib, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
A := lib
|
||||||
|
SA := lib
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := -I
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := -D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L :=
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag -- no trailing space.
|
||||||
|
#
|
||||||
|
T := -o
|
||||||
|
TE := -e
|
||||||
|
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
# Use the ANSIFLAGS variable to define the compiler flags used to enforce
|
||||||
|
# ANSI compliance.
|
||||||
|
#
|
||||||
|
CFLAGS ?= -c -q -y -d -v -Od -w-par -w-ccc -w-rch -w-pro -w-aus
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
#
|
||||||
|
ANSIFLAGS ?= -A
|
||||||
|
|
||||||
|
|
||||||
|
# Library linking
|
||||||
|
#
|
||||||
|
CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||||
|
LINK_LIBRARY = tlib /u /P128 $(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST:%=+%))
|
||||||
|
|
||||||
|
|
||||||
|
# Borland C++ specific temporary files
|
||||||
|
#
|
||||||
|
CLEAN += \
|
||||||
|
$(subst /,$(SEP),$(TOP_DIR)/apinames.$(O)) \
|
||||||
|
$(subst /,$(SEP),$(OBJ_DIR)/apinames.tds)
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
77
LVGL Simulator/LvglPlatform/freetype/builds/compiler/emx.mk
Normal file
77
LVGL Simulator/LvglPlatform/freetype/builds/compiler/emx.mk
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 emx-specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 2003-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler command line name
|
||||||
|
#
|
||||||
|
CC := set GCCOPT="-ansi -pedantic"; gcc
|
||||||
|
COMPILER_SEP := /
|
||||||
|
|
||||||
|
|
||||||
|
# The object file extension (for standard and static libraries). This can be
|
||||||
|
# .o, .tco, .obj, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
O := o
|
||||||
|
SO := o
|
||||||
|
|
||||||
|
# The library file extension (for standard and static libraries). This can
|
||||||
|
# be .a, .lib, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
A := a
|
||||||
|
SA := a
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := -I
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := -D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L := -l
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag.
|
||||||
|
#
|
||||||
|
T := -o$(space)
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
# Use the ANSIFLAGS variable to define the compiler flags used to enforce
|
||||||
|
# ANSI compliance.
|
||||||
|
#
|
||||||
|
CFLAGS ?= -c -g -O6 -Wall
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
#
|
||||||
|
ANSIFLAGS ?=
|
||||||
|
|
||||||
|
|
||||||
|
# Library linking
|
||||||
|
#
|
||||||
|
CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||||
|
LINK_LIBRARY = $(foreach m,$(OBJECTS_LIST),$(AR) -r $@ $(m);) echo > nul
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,96 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 gcc-specific with NO OPTIMIZATIONS + DEBUGGING
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler command line name
|
||||||
|
#
|
||||||
|
CC := gcc
|
||||||
|
COMPILER_SEP := /
|
||||||
|
|
||||||
|
|
||||||
|
# The object file extension (for standard and static libraries). This can be
|
||||||
|
# .o, .tco, .obj, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
O := o
|
||||||
|
SO := o
|
||||||
|
|
||||||
|
# The library file extension (for standard and static libraries). This can
|
||||||
|
# be .a, .lib, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
A := a
|
||||||
|
SA := a
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := -I
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := -D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L := -l
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag.
|
||||||
|
#
|
||||||
|
T := -o$(space)
|
||||||
|
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
# Use the ANSIFLAGS variable to define the compiler flags used to enforce
|
||||||
|
# ANSI compliance.
|
||||||
|
#
|
||||||
|
ifndef CFLAGS
|
||||||
|
ifeq ($(findstring g++,$(CC)),)
|
||||||
|
nested_externs := -Wnested-externs
|
||||||
|
strict_prototypes := -Wstrict-prototypes
|
||||||
|
endif
|
||||||
|
|
||||||
|
CFLAGS := -c -g -O0 \
|
||||||
|
-Wall \
|
||||||
|
-W \
|
||||||
|
-Wundef \
|
||||||
|
-Wshadow \
|
||||||
|
-Wpointer-arith \
|
||||||
|
-Wwrite-strings \
|
||||||
|
-Wredundant-decls \
|
||||||
|
-Wno-long-long \
|
||||||
|
$(nested_externs) \
|
||||||
|
$(strict_prototypes)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
# You can override this on the command line.
|
||||||
|
#
|
||||||
|
ANSIFLAGS ?= -std=c99 -pedantic
|
||||||
|
|
||||||
|
|
||||||
|
# Library linking
|
||||||
|
#
|
||||||
|
CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||||
|
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
77
LVGL Simulator/LvglPlatform/freetype/builds/compiler/gcc.mk
Normal file
77
LVGL Simulator/LvglPlatform/freetype/builds/compiler/gcc.mk
Normal file
|
@ -0,0 +1,77 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 gcc-specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler command line name
|
||||||
|
#
|
||||||
|
CC := gcc
|
||||||
|
COMPILER_SEP := /
|
||||||
|
|
||||||
|
|
||||||
|
# The object file extension (for standard and static libraries). This can be
|
||||||
|
# .o, .tco, .obj, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
O := o
|
||||||
|
SO := o
|
||||||
|
|
||||||
|
# The library file extension (for standard and static libraries). This can
|
||||||
|
# be .a, .lib, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
A := a
|
||||||
|
SA := a
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := -I
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := -D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L := -l
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag.
|
||||||
|
#
|
||||||
|
T := -o$(space)
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
# Use the ANSIFLAGS variable to define the compiler flags used to enforce
|
||||||
|
# ANSI compliance.
|
||||||
|
#
|
||||||
|
CFLAGS ?= -c -g -O3 -Wall
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
#
|
||||||
|
ANSIFLAGS ?= -std=c99 -pedantic
|
||||||
|
|
||||||
|
|
||||||
|
# Library linking
|
||||||
|
#
|
||||||
|
CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||||
|
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,85 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Intel C/C++ definitions (VC++ compatibility mode)
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# compiler command line name
|
||||||
|
#
|
||||||
|
CC := icl
|
||||||
|
COMPILER_SEP := $(SEP)
|
||||||
|
|
||||||
|
|
||||||
|
# The object file extension (for standard and static libraries). This can be
|
||||||
|
# .o, .tco, .obj, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
O := obj
|
||||||
|
SO := obj
|
||||||
|
|
||||||
|
|
||||||
|
# The library file extension (for standard and static libraries). This can
|
||||||
|
# be .a, .lib, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
A := lib
|
||||||
|
SA := lib
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := /I
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := /D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L := /Fl
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag.
|
||||||
|
#
|
||||||
|
T := /Fo
|
||||||
|
TE := /Fe
|
||||||
|
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
# Use the ANSIFLAGS variable to define the compiler flags used to enforce
|
||||||
|
# ANSI compliance.
|
||||||
|
#
|
||||||
|
# Note that the Intel C/C++ compiler version 4.5 complains about
|
||||||
|
# the use of FT_FIELD_OFFSET with "value must be arithmetic type"!
|
||||||
|
# This really looks like a bug in the compiler because the macro
|
||||||
|
# _does_ compute an arithmetic value, so we disable this warning
|
||||||
|
# with "/Qwd32".
|
||||||
|
#
|
||||||
|
CFLAGS ?= /nologo /c /Ox /G5 /W3 /Qwd32
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
#
|
||||||
|
ANSIFLAGS ?= /Qansi_alias /Za
|
||||||
|
|
||||||
|
# Library linking
|
||||||
|
#
|
||||||
|
#CLEAN_LIBRARY =
|
||||||
|
LINK_LIBRARY = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,83 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Unix LCC specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# Command line name
|
||||||
|
#
|
||||||
|
CC := lcc
|
||||||
|
COMPILER_SEP := $(SEP)
|
||||||
|
|
||||||
|
|
||||||
|
# The object file extension (for standard and static libraries). This can be
|
||||||
|
# .o, .tco, .obj, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
O := o
|
||||||
|
SO := o
|
||||||
|
|
||||||
|
|
||||||
|
# The library file extension (for standard and static libraries). This can
|
||||||
|
# be .a, .lib, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
A := a
|
||||||
|
SA := a
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := -I
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := -D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L := -l
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag.
|
||||||
|
#
|
||||||
|
T := -o$(space)
|
||||||
|
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
# Use the ANSIFLAGS variable to define the compiler flags used to enforce
|
||||||
|
# ANSI compliance.
|
||||||
|
#
|
||||||
|
CFLAGS ?= -c -g
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
#
|
||||||
|
# LCC is pure ANSI anyway!
|
||||||
|
#
|
||||||
|
# the "-A" flag simply increments verbosity about non ANSI code
|
||||||
|
#
|
||||||
|
ANSIFLAGS ?= -A
|
||||||
|
|
||||||
|
|
||||||
|
# library linking
|
||||||
|
#
|
||||||
|
CLEAN_LIBRARY ?= $(DELETE) $(PROJECT_LIBRARY)
|
||||||
|
LINK_LIBRARY = $(AR) -r $@ $(OBJECTS_LIST)
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,76 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Visual Age C++ specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# command line compiler name
|
||||||
|
#
|
||||||
|
CC := icc
|
||||||
|
COMPILER_SEP := $(SEP)
|
||||||
|
|
||||||
|
|
||||||
|
# The object file extension (for standard and static libraries). This can be
|
||||||
|
# .o, .tco, .obj, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
O := obj
|
||||||
|
SO := obj
|
||||||
|
|
||||||
|
|
||||||
|
# The library file extension (for standard and static libraries). This can
|
||||||
|
# be .a, .lib, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
A := lib
|
||||||
|
SA := lib
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := /I
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := /D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L := /Fl
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag.
|
||||||
|
#
|
||||||
|
T := /Fo
|
||||||
|
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
CFLAGS ?= /Q- /Gd+ /O2 /G5 /W3 /C
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
#
|
||||||
|
ANSI_FLAGS := /Sa
|
||||||
|
|
||||||
|
|
||||||
|
# Library linking
|
||||||
|
#
|
||||||
|
#CLEAN_LIBRARY :=
|
||||||
|
LINK_LIBRARY = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,82 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Visual C++ definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# compiler command line name
|
||||||
|
#
|
||||||
|
CC := cl
|
||||||
|
COMPILER_SEP := $(SEP)
|
||||||
|
|
||||||
|
|
||||||
|
# The object file extension (for standard and static libraries). This can be
|
||||||
|
# .o, .tco, .obj, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
O := obj
|
||||||
|
SO := obj
|
||||||
|
|
||||||
|
|
||||||
|
# The library file extension (for standard and static libraries). This can
|
||||||
|
# be .a, .lib, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
A := lib
|
||||||
|
SA := lib
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := /I
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := /D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L := /Fl
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag.
|
||||||
|
#
|
||||||
|
T := /Fo
|
||||||
|
|
||||||
|
# Target executable flag
|
||||||
|
#
|
||||||
|
TE := /Fe
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
# Use the ANSIFLAGS variable to define the compiler flags used to enforce
|
||||||
|
# ANSI compliance.
|
||||||
|
#
|
||||||
|
CFLAGS ?= /nologo /c /Ox /W3 /WX
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
#
|
||||||
|
ANSIFLAGS ?= /Za /D_CRT_SECURE_NO_DEPRECATE
|
||||||
|
|
||||||
|
|
||||||
|
# Library linking
|
||||||
|
#
|
||||||
|
#CLEAN_LIBRARY =
|
||||||
|
LINK_LIBRARY = lib /nologo /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,81 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Watcom-specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# Compiler command line name
|
||||||
|
#
|
||||||
|
CC := wcc386
|
||||||
|
COMPILER_SEP := $(SEP)
|
||||||
|
|
||||||
|
|
||||||
|
# The object file extension (for standard and static libraries). This can be
|
||||||
|
# .o, .tco, .obj, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
O := obj
|
||||||
|
SO := obj
|
||||||
|
|
||||||
|
|
||||||
|
# The library file extension (for standard and static libraries). This can
|
||||||
|
# be .a, .lib, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
A := lib
|
||||||
|
SA := lib
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := -I=
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := -D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L := -l
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag.
|
||||||
|
#
|
||||||
|
T := -FO=
|
||||||
|
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
# Use the ANSIFLAGS variable to define the compiler flags used to enforce
|
||||||
|
# ANSI compliance.
|
||||||
|
#
|
||||||
|
CFLAGS ?= -zq
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
#
|
||||||
|
ANSIFLAGS ?= -za
|
||||||
|
|
||||||
|
|
||||||
|
# Library linking
|
||||||
|
#
|
||||||
|
CLEAN_LIBRARY ?= $(DELETE) $(subst /,$(SEP),$(PROJECT_LIBRARY))
|
||||||
|
LINK_LIBRARY = $(subst /,$(COMPILER_SEP), \
|
||||||
|
wlib -q -n $@; \
|
||||||
|
$(foreach m, $(OBJECTS_LIST), wlib -q $@ +$(m);) \
|
||||||
|
echo > nul)
|
||||||
|
|
||||||
|
# EOF
|
|
@ -0,0 +1,81 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 Win32-LCC specific definitions
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# Command line name
|
||||||
|
#
|
||||||
|
CC := lcc
|
||||||
|
COMPILER_SEP := $(SEP)
|
||||||
|
|
||||||
|
|
||||||
|
# The object file extension (for standard and static libraries). This can be
|
||||||
|
# .o, .tco, .obj, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
O := obj
|
||||||
|
SO := obj
|
||||||
|
|
||||||
|
|
||||||
|
# The library file extension (for standard and static libraries). This can
|
||||||
|
# be .a, .lib, etc., depending on the platform.
|
||||||
|
#
|
||||||
|
A := lib
|
||||||
|
SA := lib
|
||||||
|
|
||||||
|
|
||||||
|
# Path inclusion flag. Some compilers use a different flag than `-I' to
|
||||||
|
# specify an additional include path. Examples are `/i=' or `-J'.
|
||||||
|
#
|
||||||
|
I := -I
|
||||||
|
|
||||||
|
|
||||||
|
# C flag used to define a macro before the compilation of a given source
|
||||||
|
# object. Usually it is `-D' like in `-DDEBUG'.
|
||||||
|
#
|
||||||
|
D := -D
|
||||||
|
|
||||||
|
|
||||||
|
# The link flag used to specify a given library file on link. Note that
|
||||||
|
# this is only used to compile the demo programs, not the library itself.
|
||||||
|
#
|
||||||
|
L := -Fl
|
||||||
|
|
||||||
|
|
||||||
|
# Target flag.
|
||||||
|
#
|
||||||
|
T := -Fo
|
||||||
|
|
||||||
|
|
||||||
|
# C flags
|
||||||
|
#
|
||||||
|
# These should concern: debug output, optimization & warnings.
|
||||||
|
#
|
||||||
|
# Use the ANSIFLAGS variable to define the compiler flags used to enforce
|
||||||
|
# ANSI compliance.
|
||||||
|
#
|
||||||
|
CFLAGS ?= -c -g2 -O
|
||||||
|
|
||||||
|
# ANSIFLAGS: Put there the flags used to make your compiler ANSI-compliant.
|
||||||
|
#
|
||||||
|
# LCC is pure ANSI anyway!
|
||||||
|
#
|
||||||
|
ANSIFLAGS ?=
|
||||||
|
|
||||||
|
|
||||||
|
# library linking
|
||||||
|
#
|
||||||
|
#CLEAN_LIBRARY :=
|
||||||
|
LINK_LIBRARY = lcclib /out:$(subst /,$(COMPILER_SEP),$@ $(OBJECTS_LIST))
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
128
LVGL Simulator/LvglPlatform/freetype/builds/detect.mk
Normal file
128
LVGL Simulator/LvglPlatform/freetype/builds/detect.mk
Normal file
|
@ -0,0 +1,128 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 host platform detection rules
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
# This sub-Makefile is in charge of detecting the current platform. It sets
|
||||||
|
# the following variables:
|
||||||
|
#
|
||||||
|
# PLATFORM_DIR The configuration and system-specific directory. Usually
|
||||||
|
# `builds/$(PLATFORM)' but can be different for custom builds
|
||||||
|
# of the library.
|
||||||
|
#
|
||||||
|
# The following variables must be defined in system specific `detect.mk'
|
||||||
|
# files:
|
||||||
|
#
|
||||||
|
# PLATFORM The detected platform. This will default to `ansi' if
|
||||||
|
# auto-detection fails.
|
||||||
|
# CONFIG_FILE The configuration sub-makefile to use. This usually depends
|
||||||
|
# on the compiler defined in the `CC' environment variable.
|
||||||
|
# DELETE The shell command used to remove a given file.
|
||||||
|
# COPY The shell command used to copy one file.
|
||||||
|
# SEP The platform-specific directory separator.
|
||||||
|
# COMPILER_SEP The separator used in arguments of the compilation tools.
|
||||||
|
# CC The compiler to use.
|
||||||
|
#
|
||||||
|
# You need to set the following variable(s) before calling it:
|
||||||
|
#
|
||||||
|
# TOP_DIR The top-most directory in the FreeType library source
|
||||||
|
# hierarchy. If not defined, it will default to `.'.
|
||||||
|
|
||||||
|
# Set auto-detection default to `ansi' resp. UNIX-like operating systems.
|
||||||
|
#
|
||||||
|
PLATFORM := ansi
|
||||||
|
DELETE := $(RM)
|
||||||
|
COPY := cp
|
||||||
|
CAT := cat
|
||||||
|
SEP := /
|
||||||
|
|
||||||
|
BUILD_CONFIG := $(TOP_DIR)/builds
|
||||||
|
|
||||||
|
# These two assignments must be delayed.
|
||||||
|
PLATFORM_DIR = $(BUILD_CONFIG)/$(PLATFORM)
|
||||||
|
CONFIG_RULES = $(PLATFORM_DIR)/$(CONFIG_FILE)
|
||||||
|
|
||||||
|
# We define the BACKSLASH variable to hold a single back-slash character.
|
||||||
|
# This is needed because a line like
|
||||||
|
#
|
||||||
|
# SEP := \
|
||||||
|
#
|
||||||
|
# does not work with GNU Make (the backslash is interpreted as a line
|
||||||
|
# continuation). While a line like
|
||||||
|
#
|
||||||
|
# SEP := \\
|
||||||
|
#
|
||||||
|
# really defines $(SEP) as `\' on Unix, and `\\' on Dos and Windows!
|
||||||
|
#
|
||||||
|
BACKSLASH := $(strip \ )
|
||||||
|
|
||||||
|
# Find all auto-detectable platforms.
|
||||||
|
#
|
||||||
|
PLATFORMS := $(notdir $(subst /detect.mk,,$(wildcard $(BUILD_CONFIG)/*/detect.mk)))
|
||||||
|
.PHONY: $(PLATFORMS) ansi
|
||||||
|
|
||||||
|
# Filter out platform specified as setup target.
|
||||||
|
#
|
||||||
|
PLATFORM := $(firstword $(filter $(MAKECMDGOALS),$(PLATFORMS)))
|
||||||
|
|
||||||
|
# If no setup target platform was specified, enable auto-detection/
|
||||||
|
# default platform.
|
||||||
|
#
|
||||||
|
ifeq ($(PLATFORM),)
|
||||||
|
PLATFORM := ansi
|
||||||
|
endif
|
||||||
|
|
||||||
|
# If the user has explicitly asked for `ansi' on the command line,
|
||||||
|
# disable auto-detection.
|
||||||
|
#
|
||||||
|
ifeq ($(findstring ansi,$(MAKECMDGOALS)),)
|
||||||
|
# Now, include all detection rule files found in the `builds/<system>'
|
||||||
|
# directories. Note that the calling order of the various `detect.mk'
|
||||||
|
# files isn't predictable.
|
||||||
|
#
|
||||||
|
include $(wildcard $(BUILD_CONFIG)/*/detect.mk)
|
||||||
|
endif
|
||||||
|
|
||||||
|
# In case no detection rule file was successful, use the default.
|
||||||
|
#
|
||||||
|
ifndef CONFIG_FILE
|
||||||
|
CONFIG_FILE := ansi.mk
|
||||||
|
setup: std_setup
|
||||||
|
.PHONY: setup
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Flash out and copy rules.
|
||||||
|
#
|
||||||
|
.PHONY: std_setup
|
||||||
|
|
||||||
|
std_setup:
|
||||||
|
$(info )
|
||||||
|
$(info $(PROJECT_TITLE) build system -- automatic system detection)
|
||||||
|
$(info )
|
||||||
|
$(info The following settings are used:)
|
||||||
|
$(info )
|
||||||
|
$(info $(empty) platform $(PLATFORM))
|
||||||
|
$(info $(empty) compiler $(CC))
|
||||||
|
$(info $(empty) configuration directory $(subst /,$(SEP),$(PLATFORM_DIR)))
|
||||||
|
$(info $(empty) configuration rules $(subst /,$(SEP),$(CONFIG_RULES)))
|
||||||
|
$(info )
|
||||||
|
$(info If this does not correspond to your system or settings please remove the file)
|
||||||
|
$(info `$(CONFIG_MK)' from this directory then read the INSTALL file for help.)
|
||||||
|
$(info )
|
||||||
|
$(info Otherwise, simply type `$(MAKE)' again to build the library,)
|
||||||
|
$(info or `$(MAKE) refdoc' to build the API reference (this needs Python >= 3.5).)
|
||||||
|
$(info )
|
||||||
|
@$(COPY) $(subst /,$(SEP),$(CONFIG_RULES) $(CONFIG_MK))
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
152
LVGL Simulator/LvglPlatform/freetype/builds/dos/detect.mk
Normal file
152
LVGL Simulator/LvglPlatform/freetype/builds/dos/detect.mk
Normal file
|
@ -0,0 +1,152 @@
|
||||||
|
#
|
||||||
|
# FreeType 2 configuration file to detect a DOS host platform.
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
# Copyright (C) 1996-2022 by
|
||||||
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
|
#
|
||||||
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
# and distributed under the terms of the FreeType project license,
|
||||||
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
||||||
|
# indicate that you have read the license and understand and accept it
|
||||||
|
# fully.
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: setup
|
||||||
|
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),ansi)
|
||||||
|
|
||||||
|
# Test for DJGPP by checking the DJGPP environment variable, which must be
|
||||||
|
# set in order to use the system (ie. it will always be present when the
|
||||||
|
# `make' utility is run).
|
||||||
|
#
|
||||||
|
# We test for the COMSPEC environment variable, then run the `ver'
|
||||||
|
# command-line program to see if its output contains the word `Dos' or
|
||||||
|
# `DOS'.
|
||||||
|
#
|
||||||
|
# If this is true, we are running a Dos-ish platform (or an emulation).
|
||||||
|
#
|
||||||
|
ifdef DJGPP
|
||||||
|
PLATFORM := dos
|
||||||
|
else
|
||||||
|
ifdef COMSPEC
|
||||||
|
is_dos := $(findstring DOS,$(subst Dos,DOS,$(shell ver)))
|
||||||
|
|
||||||
|
# We try to recognize a Dos session under OS/2. The `ver' command
|
||||||
|
# returns `Operating System/2 ...' there, so `is_dos' should be empty.
|
||||||
|
#
|
||||||
|
# To recognize a Dos session under OS/2, we check COMSPEC for the
|
||||||
|
# substring `MDOS\COMMAND'
|
||||||
|
#
|
||||||
|
ifeq ($(is_dos),)
|
||||||
|
is_dos := $(findstring MDOS\COMMAND,$(COMSPEC))
|
||||||
|
endif
|
||||||
|
|
||||||
|
# We also try to recognize Dos 7.x without Windows 9X launched.
|
||||||
|
# See builds/windows/detect.mk for explanations about the logic.
|
||||||
|
#
|
||||||
|
ifeq ($(is_dos),)
|
||||||
|
ifdef winbootdir
|
||||||
|
#ifneq ($(OS),Windows_NT)
|
||||||
|
# If windows is available, do not trigger this test.
|
||||||
|
ifndef windir
|
||||||
|
is_dos := $(findstring Windows,$(strip $(shell ver)))
|
||||||
|
endif
|
||||||
|
#endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif # test COMSPEC
|
||||||
|
|
||||||
|
ifneq ($(is_dos),)
|
||||||
|
|
||||||
|
PLATFORM := dos
|
||||||
|
|
||||||
|
endif # test Dos
|
||||||
|
endif # test DJGPP
|
||||||
|
endif # test PLATFORM ansi
|
||||||
|
|
||||||
|
ifeq ($(PLATFORM),dos)
|
||||||
|
|
||||||
|
# Use DJGPP (i.e. gcc) by default.
|
||||||
|
#
|
||||||
|
CONFIG_FILE := dos-gcc.mk
|
||||||
|
CC ?= gcc
|
||||||
|
|
||||||
|
# additionally, we provide hooks for various other compilers
|
||||||
|
#
|
||||||
|
ifneq ($(findstring emx,$(MAKECMDGOALS)),) # EMX gcc
|
||||||
|
CONFIG_FILE := dos-emx.mk
|
||||||
|
CC := gcc
|
||||||
|
|
||||||
|
.PHONY: emx
|
||||||
|
emx: setup
|
||||||
|
@cd .
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring turboc,$(MAKECMDGOALS)),) # Turbo C
|
||||||
|
CONFIG_FILE := dos-tcc.mk
|
||||||
|
CC := tcc
|
||||||
|
|
||||||
|
.PHONY: turboc
|
||||||
|
turboc: setup
|
||||||
|
@cd .
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring watcom,$(MAKECMDGOALS)),) # Watcom C/C++
|
||||||
|
CONFIG_FILE := dos-wat.mk
|
||||||
|
CC := wcc386
|
||||||
|
|
||||||
|
.PHONY: watcom
|
||||||
|
watcom: setup
|
||||||
|
@cd .
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring borlandc,$(MAKECMDGOALS)),) # Borland C/C++ 32-bit
|
||||||
|
CONFIG_FILE := dos-bcc.mk
|
||||||
|
CC := bcc32
|
||||||
|
|
||||||
|
.PHONY: borlandc
|
||||||
|
borlandc: setup
|
||||||
|
@cd .
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring borlandc16,$(MAKECMDGOALS)),) # Borland C/C++ 16-bit
|
||||||
|
CONFIG_FILE := dos-bcc.mk
|
||||||
|
CC := bcc
|
||||||
|
|
||||||
|
.PHONY: borlandc16
|
||||||
|
borlandc16: setup
|
||||||
|
@cd .
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(findstring bash,$(SHELL)),) # check for bash
|
||||||
|
SEP := /
|
||||||
|
DELETE := rm
|
||||||
|
COPY := cp
|
||||||
|
CAT := cat
|
||||||
|
setup: std_setup
|
||||||
|
else
|
||||||
|
SEP := $(BACKSLASH)
|
||||||
|
DELETE := del
|
||||||
|
CAT := type
|
||||||
|
|
||||||
|
# Setting COPY is a bit trickier. We can be running DJGPP on some
|
||||||
|
# Windows NT derivatives, like XP. See builds/windows/detect.mk for
|
||||||
|
# explanations why we need hacking here.
|
||||||
|
#
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
COPY := cmd.exe /c copy
|
||||||
|
else
|
||||||
|
COPY := copy
|
||||||
|
endif # test NT
|
||||||
|
|
||||||
|
setup: std_setup
|
||||||
|
endif
|
||||||
|
|
||||||
|
endif # test PLATFORM dos
|
||||||
|
|
||||||
|
|
||||||
|
# EOF
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue