Commit Graph

13 Commits (873811d865868c780ec9a93ba04a47bc2570466c)

Author SHA1 Message Date
Daniel Richard G dd168ad22c Use C99 integer types and C++ boolean types/values
This change comprehensively replaces the use of Microsoft-standard integer
and boolean types with their C99/C++ standard equivalents, as the latter is
more appropriate for a cross-platform application. With matter-of-course
exceptions in the Win32-specific code, the types/values have been converted
as follows:

    QWORD  --> uint64_t
    SQWORD --> int64_t
    DWORD  --> uint32_t
    SDWORD --> int32_t
    WORD   --> uint16_t
    SWORD  --> int16_t
    BYTE   --> uint8_t
    BOOL   --> bool
    TRUE   --> true
    FALSE  --> false

The following related changes are also included:

* Added C99 integer type definitions for Windows, as stdint.h is not
  available prior to Visual Studio 2010

* Changed types of some variables in the SolveSpace class from 'int' to
  'bool', as they actually represent boolean settings

* Implemented new Cnf{Freeze,Thaw}Bool() functions to support boolean
  variables in the Registry

* Cnf{Freeze,Thaw}DWORD() are now Cnf{Freeze,Thaw}Int()

* TtfFont::Get{WORD,DWORD}() are now TtfFont::Get{USHORT,ULONG}() (names
  inspired by the OpenType spec)

* RGB colors are packed into an integer of type uint32_t (nee DWORD), but
  in a few places, these were represented by an int; these have been
  corrected to uint32_t
2013-10-02 01:45:13 -04:00
Jonathan Westhues 0ee8ba1457 Changes in preparation for the release of SolveSpace under the GPL,
to add that license, and change all copyright notices to me, not
Useful Subset, LLC.

[git-p4: depot-paths = "//depot/solvespace/": change = 2211]
2013-07-28 14:08:34 -08:00
Jonathan Westhues fc3dc68f83 Check in the VB.NET example for the SolveSpace library, and update
the documentation accordingly. Also rename the C example for
consistency, and update copyright dates.

[git-p4: depot-paths = "//depot/solvespace/": change = 2190]
2011-03-13 00:04:09 -08:00
Jonathan Westhues b3bdadfeb8 Fix that typo elsewhere in the slvs.dll examples, and note that
VB.NET example in the documentation.

[git-p4: depot-paths = "//depot/solvespace/": change = 2188]
2011-03-05 14:33:05 -08:00
Jonathan Westhues 9ae29aa0e9 Build the demo version of the solver library as a DLL, not a static
library. If I understand correctly, that will avoid all the
compiler version issues with different required versions of libc.

[git-p4: depot-paths = "//depot/solvespace/": change = 2167]
2010-07-10 10:53:30 -08:00
Jonathan Westhues 949df4d139 Add a constraint for tangency between any combination of arcs
and cubics. Also add that to the library interface.

It might have been better to use a single constraint for that,
plus all the line-curve or line-line cases, but it would break
backwards compatibility if I did that now, and perhaps be
confusing with the 'other' member (which is meaningless for
lines) anyways.

[git-p4: depot-paths = "//depot/solvespace/": change = 2141]
2010-05-09 20:14:06 -08:00
Jonathan Westhues 7a2941d2ea Add locked-where-dragged constraint to library interface, and
update some copyright dates and bad grammar in comments.

[git-p4: depot-paths = "//depot/solvespace/": change = 2137]
2010-05-06 18:13:57 -08:00
Jonathan Westhues 52f9be0925 Add projected point-point distance constraint.
[git-p4: depot-paths = "//depot/solvespace/": change = 2115]
2010-01-27 10:15:06 -08:00
Jonathan Westhues c95e5c1614 And fix the convenience functions and example, to specify a normal
with the arc of a circle.

[git-p4: depot-paths = "//depot/solvespace/": change = 2113]
2010-01-22 22:40:10 -08:00
Jonathan Westhues bdf60690c1 Replace copyright notices for SolveSpace with my LLC, not my name.
[git-p4: depot-paths = "//depot/solvespace/": change = 2035]
2009-09-28 01:48:56 -08:00
Jonathan Westhues f8dbc89189 Polish a few little things in the constraint solver library stuff.
[git-p4: depot-paths = "//depot/solvespace/": change = 1947]
2009-04-21 22:15:01 -08:00
Jonathan Westhues 9efa922795 Add a solver option to not calculate the failing constraints if
we're inconsistent (singular Jacobian). That's slow, so we should
provide a library interface to disable it.

[git-p4: depot-paths = "//depot/solvespace/": change = 1946]
2009-04-20 23:56:17 -08:00
Jonathan Westhues 1554402b30 Oops, forgot slvs.h.
[git-p4: depot-paths = "//depot/solvespace/": change = 1945]
2009-04-19 23:32:07 -08:00