Compare commits

...

1187 Commits
0.1.0b ... main

Author SHA1 Message Date
8d31ee3056 Finalisation de l'ajout de multi-marques 2021-07-14 09:28:29 +00:00
79d4f6f7a9 Ajout des sélection sur le composant FListView 2021-07-13 08:15:38 +00:00
ea7f53be41 Ajout de getindex, setindex & setmark pour le Listview 2021-07-06 17:26:44 +00:00
Markus Gans
cf37e826e9 Moving the test from Travis CI to GitHub Actions 2021-07-05 02:19:23 +02:00
Markus Gans
3bf9713d23 More direct static access 2021-06-27 00:30:21 +02:00
Markus Gans
45110c5b21 Global non-constant variables are now encapsulated in classes 2021-06-26 23:49:16 +02:00
Markus Gans
7170fc846c Fix release build 2021-06-19 23:25:36 +02:00
Markus Gans
9931f75a51 Moving the creator methods from FTerm to its own class 2021-06-19 23:05:18 +02:00
Markus Gans
65c249dfe0 travis-ci.org -> travis-ci.com 2021-06-16 22:11:57 +02:00
Markus Gans
c4376bae3e localtime to localtime_r 2021-06-16 21:55:11 +02:00
Markus Gans
85ae1612fd Converted the internal timer from timeval to std::chrono::time_point<system_clock> 2021-06-16 15:42:46 +02:00
Markus Gans
de4ac269e4 Replace std::strlen with stringLength 2021-06-07 00:34:08 +02:00
Markus Gans
2dc8d7f2d3 FTermDetection now has clean code by using FString instead of char* 2021-06-06 21:57:35 +02:00
Markus Gans
e38d604544 Bug fixing in FString and FTermDetection 2021-06-06 00:07:39 +02:00
Markus Gans
7d426ae25c Small FString bug fix 2021-06-03 16:40:09 +02:00
Markus Gans
5336462e68 Some FString optimizations 2021-06-03 16:08:36 +02:00
Markus Gans
7f9ba7464b FString internally changed from wchar_t* to std::wstring 2021-05-30 23:52:03 +02:00
Markus Gans
95c0717589 Using std::string for the attribute buffer 2021-05-24 21:13:10 +02:00
Markus Gans
920daaba1f Fix forwarding reference 2021-05-23 00:05:29 +02:00
Markus Gans
f06ccc6495 Convert FOptiMove from char[] to std::string 2021-05-22 23:21:30 +02:00
Markus Gans
795ebcdea8 Added bug_report.md and feature_request.md 2021-05-16 18:37:28 +02:00
Markus Gans
eacc857143 Added SECURITY.md 2021-05-15 12:29:58 +02:00
Markus Gans
7462c60cfd Prevent duplicate widget in the close widget list 2021-05-13 13:17:03 +02:00
Markus Gans
af5ec304d8 Added Code of Conduct 2021-05-11 23:50:57 +02:00
Markus Gans
5f761199a7 Added Contributing.md 2021-05-09 21:05:53 +02:00
Markus Gans
f5b4537223 More const references 2021-05-09 21:03:59 +02:00
Markus Gans
d12875682d Some pointers were replaced by references 2021-05-07 23:17:23 +02:00
Markus Gans
07f6bda1ba Prevent flickering when resizing terminals or redrawing the screen via ctrl-l 2021-05-04 20:36:41 +02:00
Markus Gans
8ab4c02f42 SonarCloud Analysis Workaround 2021-05-03 00:20:16 +02:00
Markus Gans
3cf1ae0134 Bugfix for sending multiple SIGWINCH signals from gnome-terminal under Wayland 2021-05-02 23:50:00 +02:00
Markus Gans
24553aa7d0 Replace some std::bind with lambda functions 2021-05-01 18:58:37 +02:00
Markus Gans
0fefcd81c2 Fixes Linux console bug from February 20, 2021 2021-04-30 00:28:05 +02:00
Markus Gans
9ba7fc6178 Code optimization at widget focus 2021-04-27 11:51:53 +02:00
Markus Gans
8d54e1c11f Fixed mutex deadlock in FLogger 2021-04-24 17:00:28 +02:00
Markus Gans
38df8e2db2 Fixes the detection of the terminal size after a SIGWINCH signal 2021-04-21 23:46:45 +02:00
Markus Gans
4c3b5b6737 Decoupling the FWidget and FWindow classes from FVTerm 2021-04-18 15:05:55 +02:00
Markus Gans
8a7ce330a3 Better support for kitty terminals 2021-04-11 21:00:06 +02:00
Markus Gans
d5ec54dcfd Minor code improvements 2021-04-05 21:20:02 +02:00
Markus Gans
865e78d9de Small code improvements 2021-03-31 23:03:05 +02:00
Markus Gans
5a6644de98 argv is now stored internally as a std::vector container 2021-03-31 13:49:25 +02:00
Markus Gans
4acca85a13 Treeview example iterator 2021-03-30 23:26:06 +02:00
Markus Gans
9df509dd3b No refreshing of the terminal during resizing of a dialog 2021-03-30 15:20:36 +02:00
Markus Gans
597f9e772b New method FWidget::initLayout() for setting widget layouts after terminal initialization 2021-03-28 23:19:01 +02:00
Markus Gans
0e7488f646 little code improvement 2021-03-18 18:42:21 +01:00
Markus Gans
7ae9f38229 Cygwin build fix 2021-03-15 18:03:48 +01:00
Markus Gans
6deb262dd7 Preparation of error handling in FTerm::putstring 2021-03-15 09:41:14 +01:00
Markus Gans
e6dfd73e7a Dynamic adjustment of the terminal refresh rate between 5 and 60 Hz 2021-03-15 01:37:25 +01:00
Markus Gans
d4f629f183 One unit test was commented out 2021-03-10 10:07:32 +01:00
Markus Gans
465fd9510a Implementation of an own padding print method for sending control codes to the terminal 2021-03-10 00:26:22 +01:00
Markus Gans
f048d846da development release 0.7.2 2021-02-28 14:23:14 +01:00
Markus Gans
73faadd852 Removing the termcap library from the header files so that FINAL CUT programs are not affected by the preprocessor #define macros 2021-02-28 13:21:21 +01:00
Markus Gans
59917ed126 Fixed the incorrect display on terminals without UTF-8 character encoding 2021-02-24 19:55:20 +01:00
Markus Gans
48a67c4eab Some string pointer fixes 2021-02-22 20:29:49 +01:00
Markus Gans
a55b33977c Optimize terminal output buffer queue with differencing for strings, and control characters and control sequences 2021-02-20 11:29:52 +01:00
Markus Gans
28f41f5d6c FTermBuffer unit test now also runs on older Linux distributions without multicolored emojis 2021-02-10 21:09:21 +01:00
Markus Gans
a1107f96c7 Merge branch 'main' of https://github.com/gansm/finalcut into main 2021-02-09 22:23:19 +01:00
Markus Gans
baa0c60c79 Added support for combined unicode characters 2021-02-09 22:01:21 +01:00
Markus Gans
5b789e4110 Fixed: build with gcc < 5.5 - std::hash<FKey> 2021-01-20 01:32:39 +01:00
Markus Gans
fc7be67f2a Fixed: build with gcc < 5.5 - std::hash<FKey> 2021-01-01 03:46:43 +01:00
Markus Gans
eb61e6fec0 Add some #includes 2020-12-31 23:22:22 +01:00
Markus Gans
b2de303cfc Refactoring to scaled enumerations 2020-12-31 20:45:10 +01:00
Markus Gans
783f58bc4b .travis.yml 2020-12-06 02:45:21 +01:00
Markus Gans
4146b20028 Small fixes 2020-12-06 02:11:54 +01:00
Markus Gans
47cb79a7f0 Small fixes 2020-12-05 23:54:40 +01:00
Markus Gans
c4b799d98f Fixed: build with gcc < 5.5 2020-12-05 21:24:09 +01:00
Markus Gans
226663889b Improvement of the move semantics in FVTermPreprocessing 2020-12-03 23:20:33 +01:00
Markus Gans
4517038521 Using smart pointers for global objects 2020-12-03 10:43:20 +01:00
Markus Gans
7868a0dee9 Use of default destructors 2020-11-24 21:06:39 +01:00
Markus Gans
25f2abe175 Bug fix for the FMouseControl unit test 2020-11-18 23:57:31 +01:00
Markus Gans
ae1fdecb40 The terminal update rate is now limited to 60 Hz 2020-11-18 22:10:09 +01:00
Markus Gans
6c7fe98805 Small fixes 2020-11-14 22:14:30 +01:00
Markus Gans
a0a65ee9fb unit test update 2020-11-14 21:48:46 +01:00
Markus Gans
b28cf8b9c1 Bugfix: The cursor position was not changed anymore if there was no change to the content 2020-11-14 20:59:26 +01:00
Markus Gans
24696ffcd1 FString unit test fix 2020-11-08 18:51:59 +01:00
Markus Gans
96f2f28f21 deprecated code removed 2020-11-08 12:17:05 +01:00
Markus Gans
d71ca6f028 Last minor changes 2020-11-07 21:51:55 +01:00
Markus Gans
1d3522f35b Elimination of unnecessary terminal flushes 2020-11-04 16:19:02 +01:00
Markus Gans
63672a28d5 Use FIONREAD to get the number of characters available for reading on stdin 2020-11-03 13:05:01 +01:00
Markus Gans
d9003af7a1 Call of TIOCLINUX only in the Linux console 2020-11-02 23:24:14 +01:00
Markus Gans
396985f594 Non-blocking reading before timeout after keystroke 2020-11-02 22:17:07 +01:00
Markus Gans
a053ccd69e Small improvements 2020-11-01 22:40:28 +01:00
Markus Gans
ff70abd073 Small improvements 2020-11-01 22:15:44 +01:00
Markus Gans
0ee09aad2c Now FINAL CUT queues keyboard and mouse input to speed up the processing of widget events 2020-11-01 20:11:36 +01:00
Markus Gans
98f9cd5718 Replace pointers with references 2020-10-25 01:21:45 +02:00
Markus Gans
61eb8b8166 FVTerm code cleanup 2020-10-24 01:56:15 +02:00
Markus Gans
e0cc130074 FVTerm code cleanup 2020-10-23 01:07:59 +02:00
Markus Gans
a4a3d93203 Repair terminal update skipping 2020-10-22 03:14:14 +02:00
Markus Gans
531eb22182 Increased the keyboard interval from 13.3 Hz to 30 Hz 2020-10-21 00:58:22 +02:00
Markus Gans
b69f3fc5d8 FWidget::show() optimized 2020-10-20 16:52:25 +02:00
Markus Gans
3c467c9c07 Optimize the terminal output speed 2020-10-19 23:38:12 +02:00
Markus Gans
6a8459c52b Fixes unit test segfault 2020-10-17 17:34:10 +02:00
Markus Gans
49ce0be914 FVTerm improvements 2020-10-15 00:07:36 +02:00
Markus Gans
4f49d9ffaa FVTerm improvements 2020-10-14 23:43:34 +02:00
Markus Gans
2c9778698e Small improvements 2020-10-14 17:31:52 +02:00
Markus Gans
a14c45d8c7 Small improvements 2020-10-13 19:49:34 +02:00
Markus Gans
3c46dad798 FString optimization 2020-10-13 12:55:28 +02:00
Markus Gans
8d189e9ec4 Small fix-up 2020-10-12 00:02:03 +02:00
Markus Gans
493b1231fd Small fixes 2020-10-11 23:23:26 +02:00
Markus Gans
12ec2b0574 Refactoring of some methods 2020-10-11 22:50:08 +02:00
Markus Gans
396cda69e8 Solaris build fix 2020-10-11 09:14:52 +02:00
Markus Gans
73e587b9c2 Add some includes 2020-10-08 16:46:14 +02:00
Markus Gans
97f1dea7b8 Add some includes 2020-10-08 16:28:29 +02:00
Markus Gans
9f1bd87151 Minor changes 2020-10-08 12:09:48 +02:00
Markus Gans
e74dccf481 Screen reports (like Secondary DA) are now read directly 2020-10-08 05:55:32 +02:00
Markus Gans
adccd6ae3b Now hides the input cursor when a widget gets hidden 2020-10-05 04:24:14 +02:00
Markus Gans
37f238eef7 Add some includes 2020-10-04 05:56:13 +02:00
Markus Gans
fb8baf8c5c Fixed a few minor bugs 2020-10-04 02:55:15 +02:00
Markus Gans
c7d6af8b31 Merge branch 'master' of https://github.com/gansm/finalcut 2020-10-04 01:00:20 +02:00
Markus Gans
a821030333 Replaces some C-style arrays with std::array 2020-10-04 00:59:21 +02:00
Markus Gans
61434b4d16
Update codeql-analysis.yml 2020-10-02 02:26:42 +02:00
Markus Gans
dcc66b14db
Update codeql-analysis.yml 2020-10-02 02:23:00 +02:00
Markus Gans
021cd12d58
Update codeql-analysis.yml 2020-10-02 02:04:20 +02:00
Markus Gans
31eb81d612
Update codeql-analysis.yml 2020-10-02 01:51:52 +02:00
Markus Gans
b428db3d9c
Update codeql-analysis.yml 2020-10-02 01:31:49 +02:00
Markus Gans
9c1f6fb05a
Create codeql-analysis.yml 2020-10-02 01:23:26 +02:00
Markus Gans
61d88eb413 Move FChar comparison operators to ftypes.h 2020-09-29 04:16:07 +02:00
Markus Gans
722be333df Additions to the documentation 2020-09-27 20:43:53 +02:00
Markus Gans
72bcce87b7 Limit for the number of FObject child objects 2020-09-26 19:06:49 +02:00
Markus Gans
c1a2ef59e4 FData improvements 2020-09-26 02:09:34 +02:00
Markus Gans
4478948bc7 FData improvements 2020-09-26 01:59:58 +02:00
Markus Gans
b15a665729 unit test for the FData 2020-09-25 06:16:32 +02:00
Markus Gans
3d9f621258 std::clog now streams everything to the FLogger object 2020-09-25 00:48:58 +02:00
Markus Gans
a69d38fb1e Bugfix: empty FString() + wchar_t 2020-09-23 23:18:48 +02:00
Markus Gans
d10e2888ac Bugfix in FDialog::setSize() 2020-09-22 01:04:36 +02:00
Markus Gans
44d6d8cdb9 Fixes minor bugs 2020-09-20 14:11:35 +02:00
Markus Gans
ff2e29b246 FData optimization 2020-09-18 22:40:51 +02:00
Markus Gans
5092244b81 FDataPtr was replaced by the template class FData 2020-09-18 17:13:52 +02:00
Markus Gans
ff555baf3b Fixes a problem with mouse input in Cygwin in non-blocking read mode 2020-09-11 00:08:22 +02:00
Markus Gans
51105e7db2 Speed up the reaction time of the gpm mouse 2020-09-08 23:22:52 +02:00
Markus Gans
fdd7ff98ec Adding Windows Terminal detection 2020-08-30 22:47:24 +02:00
Markus Gans
28080abb3e first steps documentation changes 2020-08-23 14:00:53 +02:00
Markus Gans
147e213e07
Merge pull request #62 from Axenow/FixMenuBar
Fixed fMenuBar. Left arraw doesn't restore terminal redrawing.
2020-08-23 13:50:59 +02:00
Axenow
42854b3c50 Fixed fMenuBar. Left arraw doesn't restore terminal redrawing. 2020-08-23 12:09:06 +02:00
Markus Gans
b9042d5a03 Small code and text changes 2020-08-23 00:32:41 +02:00
Markus Gans
2b33c1875a Fix timeout problem in keyboard unit test 2020-08-16 02:01:47 +02:00
Markus Gans
5574104dd9 Fixes high CPU load 2020-08-15 23:42:29 +02:00
Markus Gans
c2894b6591 Fixed some minor bugs 2020-08-13 23:58:32 +02:00
Markus Gans
50fc6fdb63 Fixed some minor bugs 2020-08-13 00:34:39 +02:00
Markus Gans
b54d1c2f38 Fixed some minor bugs 2020-08-12 22:28:02 +02:00
Markus Gans
6fef7a43a5 Activating the callback unit test 2020-08-11 23:38:56 +02:00
Markus Gans
6d72168ca4 New callback backend was implemented 2020-08-11 23:04:46 +02:00
Markus Gans
07127634fd Method name changes 2020-07-19 14:15:02 +02:00
Markus Gans
8f383a4def More function declared as const 2020-07-12 19:33:12 +02:00
Markus Gans
f07a481d46 More function declared as const 2020-07-12 19:05:29 +02:00
Markus Gans
13dc85860b More function declared as const 2020-07-12 17:54:13 +02:00
Markus Gans
d8b35dc1a7 More function declared as const 2020-07-12 17:00:16 +02:00
Markus Gans
361f0e6a14 More function declared as const 2020-07-12 15:25:21 +02:00
Markus Gans
53ba96504f New data wrapper class FData and minor text changes 2020-07-08 21:32:47 +02:00
Markus Gans
219ac28fb7 Add a document that describes how to create user themes 2020-07-06 19:32:01 +02:00
Markus Gans
c64b17ac49 Add a "user event" chapter to the first steps document 2020-06-13 21:05:52 +02:00
Markus Gans
7749d28b92 Add a "user event" chapter to the first steps document 2020-06-13 20:35:27 +02:00
Markus Gans
9845a022a3 Fixed some minor bugs 2020-06-11 23:00:18 +02:00
Markus Gans
ccb7eeb3c6 New widget FBusyIndicator 2020-06-11 21:38:33 +02:00
Markus Gans
0ff67da077 Parameter to specify a logging file 2020-06-07 18:21:59 +02:00
Markus Gans
c1b2699e53 Simplification of FMouse::createMouseObject() 2020-06-06 22:22:01 +02:00
Markus Gans
3d2a0c6dd2 Lazy terminal initialization on show() 2020-06-06 21:10:06 +02:00
Markus Gans
70eabe93d6 Some methods are marked as 'Override' 2020-05-30 23:27:42 +02:00
Markus Gans
f76a9d2114 Added FApplication::setDarkTheme() and FApplication::setDefaultTheme() 2020-05-30 23:02:53 +02:00
Markus Gans
6a20b728ba Adding a dark theme 2020-05-29 00:36:53 +02:00
Markus Gans
1f1c6053a7 Adding a dark theme 2020-05-29 00:27:25 +02:00
Markus Gans
df672dfd73 With FColorPalette you can now create your own color palette themes 2020-05-28 01:02:53 +02:00
Markus Gans
a0e1115ff6 Added FApplication::processExternalUserEvent() 2020-05-26 21:55:22 +02:00
Markus Gans
45ddbd88d3 With FWidgetColors you can now create your own widget color themes 2020-05-26 21:37:39 +02:00
Markus Gans
8a153c6d45 Fixed pointer in flogger-test 2020-05-25 00:30:51 +02:00
Markus Gans
59830cbd05 Fixed memory leak in FString move assignment operator 2020-05-24 23:55:08 +02:00
Markus Gans
6c6b70ed9e Fixed a small bug 2020-05-24 02:28:32 +02:00
Markus Gans
9e68344a2b New class FStringStream 2020-05-24 02:15:43 +02:00
Markus Gans
f20e036a9e Fixed event queue in FApplication 2020-05-21 14:53:51 +02:00
Markus Gans
5a60794b85 More direct access to the static FTerm functions 2020-05-16 22:24:36 +02:00
Markus Gans
379c45efb5 A little more clean code 2020-05-14 01:22:45 +02:00
Markus Gans
923822ca25 New class FLogger for logging 2020-05-13 23:47:14 +02:00
Markus Gans
4a8b863238 Cygwin build fix 2020-05-03 13:45:47 +02:00
Markus Gans
21267f7ead
Merge pull request #53 from gansm/57c14fd
merged commit
2020-05-02 18:34:01 +02:00
Markus Gans
87777ad27c macOS build fix 2020-05-02 17:26:58 +02:00
Markus Gans
d69b414094 macOS build fix 2020-05-02 17:18:40 +02:00
Markus Gans
5f447e8267 FTermcap is now null pointer resistant 2020-05-02 16:54:22 +02:00
Markus Gans
0be377a94a Moving all termcap functions into FTermcap 2020-05-02 05:28:30 +02:00
Markus Gans
deccb4b74c Moving all termcap functions into FTermcap 2020-05-02 04:56:12 +02:00
Markus Gans
a90cd1ad55 const type qualifiers and list initialization 2020-05-02 00:07:35 +02:00
Markus Gans
0fd6439f5a Static code for the special built-in key sequences 2020-04-29 02:24:48 +02:00
Markus Gans
4840978273 Static code for the special built-in key sequences 2020-04-29 00:37:29 +02:00
Markus Gans
1c3c687878 Adding the missing method getClientSize() 2020-04-28 01:46:26 +02:00
Markus Gans
0de0676092 A few inline and const changes 2020-04-26 20:45:57 +02:00
Markus Gans
159d086af4 macOS build fix 2020-04-25 02:32:33 +02:00
Markus Gans
2b1774e578 More internal use of const char* strings 2020-04-24 00:34:26 +02:00
Markus Gans
803e54d456 Further small code improvements 2020-04-20 01:01:20 +02:00
Markus Gans
88667f2cbb Fix for macOS build 2020-04-19 20:57:28 +02:00
Markus Gans
9da4f00115 Further small code improvements 2020-04-19 20:40:49 +02:00
Markus Gans
d08dd8e9f4 Further small code improvements 2020-04-19 20:38:52 +02:00
Markus Gans
136b57eac6 Correction of some virtual methods 2020-04-18 13:33:42 +02:00
Markus Gans
6de04a3edd CWE-478: Addition of missing default case in the Switch statement 2020-04-17 10:53:47 +02:00
Markus Gans
defc1714e4 CERT, OOP50-CPP: Avoids calling a virtual function from the constructor 2020-04-17 02:49:33 +02:00
Markus Gans
fd92d7f4d8 Update comments for the copy assignment operator 2020-04-15 23:44:08 +02:00
Markus Gans
7d4de8e46f Improved event handling code 2020-04-15 23:17:42 +02:00
Markus Gans
62b4a68277 Better support of general arrow keys 2020-04-15 23:10:34 +02:00
Markus Gans
1ff34f64e1 Better support of general arrow keys 2020-04-15 10:55:23 +02:00
Markus Gans
7a520dc944 Add destructor 2020-04-15 01:01:16 +02:00
Markus Gans
9b654768aa Several small code improvements 2020-04-15 00:28:18 +02:00
Markus Gans
90b389035e Several small code improvements 2020-04-14 23:46:42 +02:00
Markus Gans
f364f76aea add sonarcloud settings 2020-04-13 12:52:45 +02:00
Markus Gans
3bb001677f Several small code improvements 2020-04-13 12:40:11 +02:00
Markus Gans
ac1ebfefad minor fixes 2020-04-10 22:13:13 +02:00
Markus Gans
20c3cf218e Dialogs can now be displayed without a border 2020-04-09 12:38:35 +02:00
Markus Gans
53d2f04e77 Update asciinema link 2020-04-04 21:45:27 +02:00
Markus Gans
bb52b6fd7e Correction of methods that were unnecessarily declared as virtual 2020-04-04 20:58:47 +02:00
Markus Gans
53f1059312 Minor bug fixes 2020-04-02 09:59:34 +02:00
Markus Gans
a1b31179c2 Update asciinema link 2020-03-22 22:05:26 +01:00
Markus Gans
4c0404ac60 A small benchmakt test was added to the Rotozoomer example 2020-03-22 21:53:27 +01:00
Markus Gans
86ccd30eae A rotozoomer example was added to demonstrate the drawing speed of FINAL CUT 2020-03-08 22:25:13 +01:00
Markus Gans
45218b0f61 Fixes keyboard input buffer problem when opening a modal dialog 2020-03-08 12:52:04 +01:00
Markus Gans
b58936a6a2 Exit the move-resize-mode when the close confirmation dialog is displayed 2020-03-07 22:38:26 +01:00
Markus Gans
77638fcaa0 Fixes keyboard input buffer problem when opening a modal dialog 2020-03-07 21:32:18 +01:00
Markus Gans
925f106846 Unbuffered reading of keystrokes for better latency 2020-03-05 21:30:54 +01:00
Markus Gans
3102fa6e59 Add .editorconfig 2020-03-01 15:42:07 +01:00
Markus Gans
e5902a6ee6 New command line switch "--no-terminal-data-request" 2020-02-25 23:42:31 +01:00
Markus Gans
ff6ff14793 Travis CI MacOS Homebrew update 2020-02-24 11:41:54 +01:00
Markus Gans
65b47b40f2 Updated Debian package files 2020-02-23 23:05:05 +01:00
Markus Gans
3723d071a3 Updated Debian and rpm package files 2020-02-23 20:57:51 +01:00
Markus Gans
b23974858e SGRoptimizer improved 2020-02-20 00:06:39 +01:00
Markus Gans
164487096c Some small code improvements 2020-02-19 21:59:13 +01:00
Markus Gans
a33a9e1b6b Printing FStyle object to change attributes 2020-02-16 00:01:36 +01:00
Markus Gans
43bda37f71 Rename setTransShadow() to setColorOverlay() 2020-02-13 08:21:48 +01:00
Markus Gans
83a6ee497b Fix collapse() and expand() in FListViewItem() 2020-02-11 00:29:58 +01:00
Markus Gans
dd625e0822 Adding a tty check for stdin 2020-02-09 21:58:17 +01:00
Markus Gans
07a29910b7 Add application structure diagram 2020-02-08 21:31:21 +01:00
Markus Gans
b810b51e65 Fix in FListViewIterator 2020-02-05 08:57:13 +01:00
Markus Gans
b05513a8f8 Add screenshorts to the first steps document 2020-02-04 01:07:22 +01:00
Markus Gans
9221703a40 Add screenshorts to the first steps document 2020-02-04 00:09:06 +01:00
Markus Gans
057c295af6 Fix uncaught exception 2020-02-02 23:57:18 +01:00
Markus Gans
60009d8f4b clear() and remove() were added to FListView 2020-02-02 22:34:27 +01:00
Markus Gans
06d65ed676 Fix metadata 2020-01-20 21:40:00 +01:00
Markus Gans
3e3076838f markdown formatting 2020-01-14 20:27:19 +01:00
Markus Gans
815562173f Replace bitmap in SVG with vector drawing 2020-01-14 00:42:48 +01:00
Markus Gans
bd20b9aa8c svg: remove spaces from base64 code 2020-01-13 00:20:35 +01:00
Markus Gans
3183e376bb Add a "widget layout" chapter to the first steps document 2020-01-12 20:10:34 +01:00
Markus Gans
eeac24aef2 Methods setText() and clearText() for FComboBox 2020-01-09 20:20:37 +01:00
Markus Gans
c0b1dc5924 Add setCurrentItem() to the FComboBox widget class 2020-01-09 19:21:16 +01:00
Markus Gans
0ea63fa1c8 Illustrations to explain the widget layout 2020-01-03 22:00:42 +01:00
Markus Gans
926f9278bc Illustrations to explain the widget layout 2020-01-03 01:36:01 +01:00
Markus Gans
fc1b9ebdf3 Small code improvements 2020-01-03 01:33:18 +01:00
Markus Gans
d126c4996a Adding an ANSI X3.64 SGR optimizer 2019-12-31 06:32:51 +01:00
Markus Gans
853799b4d6 Screenshots have been updated 2019-12-23 21:29:08 +01:00
Markus Gans
23ddf5d6f2 Correction for height and width alignment in adjustSize() 2019-12-23 14:20:31 +01:00
Markus Gans
3a391f5fe5 Better setSize() implementation in some widgets 2019-12-23 03:53:32 +01:00
Markus Gans
b7639f5301 Fixed the drawing of FLabel widget with the default size of 1×1 character 2019-12-20 19:36:18 +01:00
Markus Gans
867dabf637
Merge pull request #42 from grendello/fspinbox-inlines
Make FSPinBox::get{Prefix,Suffix} functions inline
2019-12-16 11:47:48 +01:00
Markus Gans
74d8585561 New widget class FComboBox to provide a dropdown list with an input field 2019-12-16 11:14:24 +01:00
Marek Habersack
d34e839f83 Make FSPinBox::get{Prefix,Suffix} functions inline
Otherwise, if more than one file includes the header, we will have
duplicate symbols during link time.
2019-12-15 20:32:36 +01:00
Markus Gans
aacf27ff74 update .travis.yml dist: xenial 2019-11-19 02:46:01 +01:00
Markus Gans
cbe1179443 clang++ compile fix 2019-11-18 16:43:07 +01:00
Markus Gans
15fe47327e update g++ on macOS 2019-11-18 01:40:42 +01:00
Markus Gans
3de8e73281 Revision of FString number input stream 2019-11-18 01:18:15 +01:00
Markus Gans
8c434777bc Revision of FString number input stream 2019-11-17 22:06:07 +01:00
Markus Gans
5bb3f1ac9b Fixes the numerical streaming value for FLineEdit and FLabel 2019-11-16 22:33:21 +01:00
Markus Gans
7ba294c496 Fixes the numerical streaming value for FLineEdit and FLabel 2019-11-16 21:48:59 +01:00
Markus Gans
4540a6f455 Fixes the numerical streaming value for FLineEdit and FLabel 2019-11-16 19:57:45 +01:00
Markus Gans
b3c367a168 Fixes the numerical streaming value for FLineEdit and FLabel 2019-11-16 19:10:08 +01:00
Markus Gans
be1c2b2639 Revert "Set theme jekyll-theme-cayman"
This reverts commit 513c80efa1aa15594a0e89fca02a017a69e2e01e.
2019-11-16 15:43:23 +01:00
Markus Gans
d4c964e0d8 Revert "Delete _config.yml"
This reverts commit 0727a59d4a51260624fa38149ba1d7f1f96d6a96.
2019-11-16 15:43:02 +01:00
Markus Gans
687043b174 Merge branch 'master' of https://github.com/gansm/finalcut 2019-11-16 15:38:17 +01:00
Markus Gans
dedc1f3410 New Widget class FSpinBox to provide spin boxes 2019-11-16 15:16:44 +01:00
Markus Gans
0727a59d4a
Delete _config.yml 2019-11-13 20:20:18 +01:00
Markus Gans
513c80efa1 Set theme jekyll-theme-cayman 2019-11-13 20:06:37 +01:00
Markus Gans
5852c8129b Update Travis CI coverity scan test 2019-11-07 04:16:44 +01:00
Markus Gans
3112b6cbab Update Travis CI coverity scan test 2019-11-07 04:12:39 +01:00
Markus Gans
965cc95201 Update Travis CI coverity scan test 2019-11-07 03:43:39 +01:00
Markus Gans
df12308b06 Update Travis CI coverity scan test 2019-11-07 02:55:20 +01:00
Markus Gans
18ec10ffd1 Update Travis CI coverity scan test 2019-11-07 02:48:27 +01:00
Markus Gans
d76dcf2e9c Small NewFont midline fixes 2019-11-06 20:09:45 +01:00
Markus Gans
88d5c0d050 Improved display of the NewFont midline 2019-11-06 02:40:47 +01:00
Markus Gans
b116fa5930 Newfont specialization for 8x16 and 9x16 pixel character 2019-11-03 23:34:47 +01:00
Markus Gans
1671a5ff3e Unicode support for 8x16graph font 2019-10-29 01:42:10 +01:00
Markus Gans
ff39c85a33 Coverity scan compiler fix 2019-10-21 03:17:29 +02:00
Markus Gans
38d4fea995 Fix iterator container mismatch 2019-10-21 02:48:29 +02:00
Markus Gans
26b00e2b10 Coverity scan compiler fix 2019-10-21 02:07:12 +02:00
Markus Gans
f30bb0f79b Update Travis CI compiler version 2019-10-20 23:05:45 +02:00
Markus Gans
bdd6753444 Update Travis CI compiler version 2019-10-20 22:53:45 +02:00
Markus Gans
a924eeafb4 Update Travis CI compiler version 2019-10-20 22:47:12 +02:00
Markus Gans
d9f7985b40 Update Travis CI compiler version 2019-10-20 22:39:53 +02:00
Markus Gans
dae345fbac Update Travis CI compiler version 2019-10-20 22:25:13 +02:00
Markus Gans
5e79e0a1fa Update Travis CI compiler version 2019-10-20 22:15:22 +02:00
Markus Gans
5ceee8b4c8 New method setInputType() in FLineEdit that allows to obscure password entries 2019-10-20 20:06:33 +02:00
Markus Gans
58c775c252
Merge pull request #41 from gansm/master
merge
2019-10-17 02:01:36 +02:00
Markus Gans
5e4a71dc0d Version 0.6.0 2019-10-17 01:13:18 +02:00
Markus Gans
7499f424dc Compile fix for some architectures 2019-10-14 01:44:24 +02:00
Markus Gans
762b232fd0 More code cleanups 2019-10-08 04:50:43 +02:00
Markus Gans
b0080b00cf More code cleanups 2019-10-08 04:37:19 +02:00
Markus Gans
937654710b Code cleaning 2019-10-06 22:35:00 +02:00
Markus Gans
66ff1ba208 Small fixes 2019-10-06 00:36:58 +02:00
Markus Gans
a279a0981a Internal redesign of the callback call 2019-10-05 23:20:07 +02:00
Markus Gans
298755a0fe Replacing null-terminated wide strings with FString objects 2019-10-01 23:14:00 +02:00
Markus Gans
6b9336d6c1 Streaming into an FTextView() object 2019-09-29 22:28:58 +02:00
Markus Gans
bccdbbd3ad
Merge pull request #39 from gansm/master
merge
2019-09-28 06:23:05 +02:00
Markus Gans
8c67f64db4 Support for displaying full-width characters 2019-09-28 03:13:06 +02:00
Markus Gans
e15f1a344a Minor code changes 2019-09-09 19:13:38 +02:00
Markus Gans
bc3afa6235 Remove #pragma pack() directive lines 2019-09-08 02:04:24 +02:00
Markus Gans
81e00a22d3 Outsourcing the initialization data to a separate struct 2019-09-06 08:21:10 +02:00
Markus Gans
d1fedfec9f Cygwin and Linux console do not use cp437 character encoding by default 2019-09-04 23:57:31 +02:00
Markus Gans
69db7417ad Removing public + protected data members from classes 2019-09-01 23:29:27 +02:00
Markus Gans
9a40890026 More use of direct initializations 2019-08-25 22:21:01 +02:00
Markus Gans
37ed970319 More use of direct initializations 2019-08-25 22:16:00 +02:00
Markus Gans
43de8d6150 add missing override 2019-08-18 21:46:38 +02:00
Markus Gans
8c90cd2a4c Fixes print() << FPoint() behavior in FScrollView 2019-08-18 21:36:10 +02:00
Markus Gans
248cf8a0ba Update VTerm information only in case of changes 2019-08-18 21:35:36 +02:00
Markus Gans
ad2766e706 Solved problem detecting terminal size on quick changes 2019-08-18 02:04:44 +02:00
Markus Gans
4075e6e1ed Update .bettercodehub.yml 2019-08-11 22:32:46 +02:00
Markus Gans
bda1582659 Update .bettercodehub.yml 2019-08-11 22:26:11 +02:00
Markus Gans
6b3e0135c7 Update .bettercodehub.yml 2019-08-11 22:18:30 +02:00
Markus Gans
4165772265 Update .bettercodehub.yml 2019-08-11 22:16:50 +02:00
Markus Gans
924d69225f Update .bettercodehub.yml 2019-08-11 22:12:51 +02:00
Markus Gans
dec830a0d8 Update .bettercodehub.yml 2019-08-11 22:06:48 +02:00
Markus Gans
258b2489a3 Update .bettercodehub.yml 2019-08-11 22:04:01 +02:00
Markus Gans
5f7f2116f7 Update .bettercodehub.yml 2019-08-11 21:59:56 +02:00
Markus Gans
3bd3819a1a Update .bettercodehub.yml 2019-08-11 21:51:20 +02:00
Markus Gans
44e157e493 Converts getHotkeyPos() for sharing into a non-member function 2019-08-11 20:07:39 +02:00
Markus Gans
5a43a018cf FRect has now got a scaleBy() method 2019-08-11 18:15:57 +02:00
Markus Gans
bd81fdb069 set OpenBSD pitch and duration of the system speaker 2019-08-10 20:14:44 +02:00
Markus Gans
5bd46e32ec Add Codecov 2019-08-09 06:48:39 +02:00
Markus Gans
3c5c2aa69e Fixes the Cygwin build 2019-08-07 11:47:03 +02:00
Markus Gans
5257beb73a Small cleanups 2019-08-06 23:45:28 +02:00
Markus Gans
77b76b7a2a Reduce the number of interface parameters 2019-08-04 23:38:47 +02:00
Markus Gans
aac2231898 remove debug output from code 2019-08-01 00:28:36 +02:00
Markus Gans
0e12be93cc Unit test for the move assignment operator and move constructor in FPoint, FSize and FRect 2019-07-31 23:57:35 +02:00
Markus Gans
92c120b79e The FTermFreeBSD unit test has been extended 2019-07-29 15:52:23 +02:00
Markus Gans
0ba913a23e small fixes 2019-07-29 02:34:58 +02:00
Markus Gans
8026f64754 Add compile flag for the coverity scan test 2019-07-28 23:48:14 +02:00
Markus Gans
f78aba0395 Add unit test for the FTermFreeBSD class 2019-07-28 23:12:01 +02:00
Markus Gans
2b9c64a445 Reduce include entries in the header files 2019-07-21 23:31:21 +02:00
Markus Gans
3c52e77448 FTermOpenBSD unit test completed 2019-07-17 01:37:44 +02:00
Markus Gans
8d9e92023a minor fixes 2019-07-14 23:21:49 +02:00
Markus Gans
c49252ab45 Add a unit test for FTermOpenBSD to test the OpenBSD and NetBSD console 2019-07-14 23:05:54 +02:00
Markus Gans
ff9673d262 Reduces the use of raw loops 2019-07-14 18:30:35 +02:00
Markus Gans
7cd169758c Expanding the unit test for FTermLinux 2019-07-06 02:57:03 +02:00
Markus Gans
38df039235 Expanding the unit test for FTermLinux 2019-07-04 15:26:26 +02:00
Markus Gans
340d78e433 Expanding the Unit Test for FTermLinux 2019-07-01 01:07:54 +02:00
Markus Gans
73293da481 Homebrew update 2019-06-19 23:12:44 +02:00
Markus Gans
1b35fd0623 pkg-config in .travis.yml 2019-06-19 21:57:45 +02:00
Markus Gans
4cd92ea36e Add a unit test for FTermLinux with a Linux console emulation and a dedicated FSystem test instance 2019-06-19 16:28:55 +02:00
Markus Gans
52c5b412f7 Fixes problem with scroll bar view after first draw 2019-06-12 11:37:34 +02:00
Markus Gans
b9ef1200e8 Avoid drawing the scroll bars if the widget is non-visible 2019-06-02 19:14:06 +02:00
Markus Gans
7c46d52ef4 Avoid drawing the scroll bars if the widget is non-visible 2019-06-02 19:11:17 +02:00
Markus Gans
c93c0b6e33 Further segfault bug fixes in FListView 2019-05-27 09:55:29 +02:00
Markus Gans
63366b7ef9
Merge pull request #34 from grendello/flistview_segfault
Fix a segfault when processing input to empty FListView
2019-05-27 08:31:06 +02:00
Markus Gans
622eb7089c debug switch build fix 2019-05-27 01:35:32 +02:00
Markus Gans
5e436e91dc Use the Singleton design pattern to get a single object instance via FTerm 2019-05-27 01:10:10 +02:00
Markus Gans
22e47adbcb Use the Singleton design pattern to get a single object instance via FTerm 2019-05-27 00:50:11 +02:00
Marek Habersack
c4d9b33628 Fix a segfault when processing input to empty FListView
If the application has a list view with no items and the user clicks the widget
or sends any key (space, plus, minus etc) which acts on the items, the
application will segfault as the item returned from `getCurrentItem()` is
`nullptr` and there's no check made for this condition.

Instead of checking whether current item `!= nullptr` just check whether the
item list is empty and avoid running any code at all in such case.
2019-05-26 23:35:39 +02:00
Markus Gans
75ec596323 macOS build fix 2019-05-17 22:52:01 +02:00
Markus Gans
66fe27e5bc macOS build fix 2019-05-17 22:44:44 +02:00
Markus Gans
6811b32e8a macOS build fix 2019-05-17 22:29:22 +02:00
Markus Gans
fa66a7091e Move system calls to the new class FSystem 2019-05-17 15:48:09 +02:00
Markus Gans
5bd8590dee Revision of some comments 2019-04-28 20:57:08 +02:00
Markus Gans
83fbc0a4f5 Use shrink_to_fit() to save memory space 2019-04-27 01:23:30 +02:00
Markus Gans
ec502d208a Add the reserve() method to FListBox to increase the capacity of the list 2019-04-27 00:38:15 +02:00
Markus Gans
cc720dc7db Travis CI - Work around incomplete ca-chain of scan.coverity.com
See also
https://travis-ci.community/t/certificate-issue-during-coverity-build/3153
2019-04-26 23:48:38 +02:00
Markus Gans
7f206e88f0 Using namespace aliases finalcut::fc in some exemple programs 2019-04-26 21:06:04 +02:00
Markus Gans
e3b226b10d Add a "scroll view" chapter to the first steps document 2019-03-24 20:17:54 +01:00
Markus Gans
439b8310ef Add a "scroll view" chapter to the first steps document 2019-03-24 20:15:17 +01:00
Markus Gans
93f464f30e Add an lambda expression callback example to the first steps document 2019-02-28 02:18:30 +01:00
Markus Gans
e3fb0c4a56 Drawing of the progress bar has been improved 2019-02-25 23:35:27 +01:00
Markus Gans
cefd894c40 .gitignore 2019-02-24 20:59:48 +01:00
Markus Gans
b0febda5b4 Added the 7-segment example 2019-02-24 20:21:12 +01:00
Markus Gans
2270f4cde5 Three new methods in FLineEdit 2019-02-24 00:25:36 +01:00
Markus Gans
54dbbbcf4e Build on Solaris 2019-02-10 22:38:00 +01:00
Markus Gans
8813290a89
Merge pull request #33 from gansm/master
merge
2019-02-09 13:43:15 +01:00
Markus Gans
a3e3cf22d8 Add a "dynamic layout" Chapter into the first steps document 2019-02-07 23:05:50 +01:00
Markus Gans
d91cd10311 Printing FColorPair to change foreground and background color 2019-01-30 12:17:48 +01:00
Markus Gans
bd4d8bd3a2 FFileDialog geometry fix 2019-01-27 22:19:33 +01:00
Markus Gans
96cdaa2450 Print function can set the cursor position with an FPoint 2019-01-27 13:44:13 +01:00
Markus Gans
c4df64c5bc Refactoring of some methods in FVTerm and FDialog 2019-01-24 00:23:00 +01:00
Markus Gans
eeb32bd66e More accurate interfaces through the strict use of FPoint() and FSize() 2019-01-21 03:42:18 +01:00
Markus Gans
4dcc573be7 New class FSize for storing dimensions 2019-01-16 16:00:15 +01:00
Markus Gans
cb090e8aff A bit of refactoring 2019-01-12 09:11:22 +01:00
Markus Gans
016f15c860 Generalize hide() method 2019-01-11 22:16:59 +01:00
Markus Gans
60e64be37b Better widget visibility handling with the methods hide() and show() 2019-01-09 20:05:29 +01:00
Markus Gans
6a91738f48 Improvement in widget focusing 2019-01-07 05:03:00 +01:00
Markus Gans
2b110d87d8 Use of initializer_list for FListBox, FListView and FTextView 2019-01-05 22:58:06 +01:00
Markus Gans
a56ba6274e Use the final specifier 2019-01-04 02:18:54 +01:00
Markus Gans
652dc67e6e Improved UTF-8 encoding for Cygwin 2019-01-03 21:38:19 +01:00
Markus Gans
c365f07298 Better background color for all terminals with a fixed color palette 2019-01-03 20:56:09 +01:00
Markus Gans
25a068590f
Merge pull request #32 from gansm/master
merge
2019-01-03 09:00:28 +01:00
Markus Gans
72fab50cbf Fix foptiattr-test 2019-01-03 08:31:48 +01:00
Markus Gans
838ba23c46 Integration of an output filter to replace missing characters 2019-01-03 07:36:18 +01:00
Markus Gans
4135215df5 Improved PC encoding for Cygwin and Linux 2019-01-02 03:00:07 +01:00
Markus Gans
719e9b0586 Use the override specifier 2018-12-31 06:18:39 +01:00
Markus Gans
0d1f6a5e51 Cygwin compiled fix for C++11 2018-12-30 04:24:46 +01:00
Markus Gans
3ad4652883 Replace redundant FString code with templates 2018-12-29 22:10:24 +01:00
Markus Gans
bd3b2b31bb Adding horizontal and vertical scrollability checks in FTextView 2018-12-29 19:01:47 +01:00
Markus Gans
250c04cefd Small data type changes 2018-12-28 22:57:43 +01:00
Markus Gans
bc389b730e Add a "signals and callbacks" chapter into the first steps document 2018-12-28 09:42:28 +01:00
Markus Gans
43f97a0d6a Add a "signals and callbacks" chapter into the first steps document 2018-12-28 08:09:05 +01:00
Markus Gans
17540c9581 Add a "signals and callbacks" chapter into the first steps document 2018-12-28 07:46:28 +01:00
Markus Gans
831e9fe05e Global use of FDataPtr for void* 2018-12-27 00:14:46 +01:00
Markus Gans
2a06915f1c Use constexpr for fixed values 2018-12-26 23:41:49 +01:00
Markus Gans
8e618812ac Bugfix in FTermDetection::getXTermColorName 2018-12-26 23:39:15 +01:00
Markus Gans
eb8ae63b72 Add a "event processing" chapter into the first steps document 2018-12-25 22:34:04 +01:00
Markus Gans
9a694ab267 New event FUserEvent for user-defined events 2018-12-24 18:11:16 +01:00
Markus Gans
81a4e72916 bool on -> bool enable 2018-12-22 23:50:10 +01:00
Markus Gans
ac9ed260f5 some fixes 2018-12-22 15:33:23 +01:00
Markus Gans
602526686c Add a "memory management" Chapter into the first steps document 2018-12-20 01:41:47 +01:00
Markus Gans
f6c21db7e7 Use of smart pointers 2018-12-20 01:41:04 +01:00
Markus Gans
f3bdc3b410 Use of smart pointers 2018-12-19 22:04:02 +01:00
Markus Gans
eeb78aaea7
Merge pull request #30 from gansm/master
merge
2018-12-17 02:35:21 +01:00
Markus Gans
554d26ca00 Reactivate the event queue 2018-12-17 02:06:22 +01:00
Markus Gans
ae38a45a5e Improve FButton mouse click animation 2018-12-17 00:50:24 +01:00
Markus Gans
c2b6b2c0e2
Merge pull request #29 from gansm/master
merge
2018-12-16 00:19:55 +01:00
Markus Gans
b459d55ae8 term-attributes now used a vector of lambda expressions to print the effects 2018-12-16 00:11:25 +01:00
Markus Gans
fd924233c3 Code reduction by using of Range-based for loop 2018-12-15 22:10:31 +01:00
Markus Gans
cef13611d1 Use of the C++11 auto specifier in the program code 2018-12-15 00:50:09 +01:00
Markus Gans
a881b471f3
Merge pull request #28 from gansm/master
merge
2018-12-10 01:54:40 +01:00
Markus Gans
6ce8c5cb27 Use nullptr instead of 0 to initialize a pointer values 2018-12-10 01:48:26 +01:00
Markus Gans
fe0c22abe4 Deactivate copy constructor and assignment operator with "= delete" 2018-12-09 22:04:55 +01:00
Markus Gans
7ef9b154b9 Better handling of the scrollbar maximum 2018-12-09 18:24:31 +01:00
Markus Gans
00dc24468f .lgtm.yml 2018-12-08 05:30:53 +01:00
Markus Gans
46f934907d .lgtm.yml 2018-12-07 19:58:26 +01:00
Markus Gans
d6fe46c922 configure.ac AC_LANG = C++ 2018-12-06 22:31:33 +01:00
Markus Gans
8a45d9c1cb .travis.yml 2018-12-06 22:09:29 +01:00
Markus Gans
77619bd8f8 .travis.yml 2018-12-06 21:48:26 +01:00
Markus Gans
1b23b0806b ui.cpp: deactivate copy constructor and assignment operator with "= delete" 2018-12-06 21:19:37 +01:00
Markus Gans
31c828d25e Easier handling of fc::SpecialCharacter 2018-12-06 15:39:00 +01:00
Markus Gans
fab5aaafdd Easier handling of fc::SpecialCharacter 2018-12-06 03:55:32 +01:00
Markus Gans
527f7d3432 Easier handling of fc::SpecialCharacter 2018-12-06 03:48:17 +01:00
Markus Gans
936995cbdd Easier handling of fc::SpecialCharacter 2018-12-06 03:30:43 +01:00
Markus Gans
9ba1b77069 Easier handling of fc::SpecialCharacter 2018-12-06 02:28:24 +01:00
Markus Gans
48f88fdeec Use delegated constructors and in-class default member initializers 2018-12-03 03:39:55 +01:00
Markus Gans
3537152c28 Use delegated constructors and in-class default member initializers 2018-12-03 03:22:36 +01:00
Markus Gans
4046f05a0c Switched to the language standard C++11 2018-12-02 14:13:52 +01:00
Markus Gans
635d7c691e Improved gpm wheel mouse support 2018-12-01 21:28:25 +01:00
Markus Gans
aed6893eb4 FAQ update 2018-11-30 17:01:06 +01:00
Markus Gans
0ff6e540eb FAQ update 2018-11-30 00:18:17 +01:00
Markus Gans
65781d6095 packaging update 2018-11-29 23:31:01 +01:00
Markus Gans
c3847b6b05 Correct vertical scrollbar position after sorting in FListView 2018-11-27 01:32:21 +01:00
Markus Gans
11871cba89
Merge pull request #25 from gansm/master
merge
2018-11-25 19:58:39 +01:00
Markus Gans
7f5901d237 Fix compiler warning on non-x86 architectures 2018-11-25 16:27:13 +01:00
Markus Gans
541f127088 Version 0.5.0 2018-11-25 04:48:57 +01:00
Markus Gans
642e61b6e1 Namespace fix in FTermFreeBSD and FTermOpenBSD 2018-11-25 01:20:51 +01:00
Markus Gans
c15cb0ba24 memory management + handling environment variables with numbers 2018-11-24 23:43:09 +01:00
Markus Gans
6c4ba7af89 fkeyboard_test fix 2018-11-24 03:22:47 +01:00
Markus Gans
ca90fb64bd Improved Sun Microsystems workstation console quirks 2018-11-24 02:59:56 +01:00
Markus Gans
820ef81377 bad_alloc_str in now usable in the entire namespace finalcut 2018-11-22 21:51:32 +01:00
Markus Gans
f30b8f9431
Merge pull request #22 from gansm/master
merge
2018-11-22 00:19:50 +01:00
Markus Gans
f6df9585f5 The integer type of FPoint and FRect changed from short to int 2018-11-21 22:15:14 +01:00
Markus Gans
1f64843fb6 New type FKey for key inputs 2018-11-21 20:07:08 +01:00
Markus Gans
167b7c97bc install fix with final/ftermdata.h 2018-11-20 21:11:04 +01:00
Markus Gans
801147161d FAQ update 2018-11-18 22:50:45 +01:00
Markus Gans
2cb08ce928 checkable FListViewItem now shows the input cursor 2018-11-18 22:48:55 +01:00
Markus Gans
3953dc19fa FListViewItem now provides checkable list view items 2018-11-18 01:15:38 +01:00
Markus Gans
e40a233d64 FColor fix 2018-11-13 02:51:41 +01:00
Markus Gans
9b3f30f006 Clicking on the column header in FListView now changes the sort order 2018-11-12 23:22:45 +01:00
Markus Gans
b451f0047a Clicking on the column header in FListView now changes the sort order 2018-11-12 22:40:16 +01:00
Markus Gans
d39e85d4c5 FListView now has a sort indicator (▼/▲) to display the sort order 2018-11-10 00:53:57 +01:00
Markus Gans
3109189b1c Remove testing line "return;" 2018-11-07 22:30:59 +01:00
Markus Gans
cd8e4f78ae Use new type FColor for color values 2018-11-07 22:06:58 +01:00
Markus Gans
9fc1910c18 strncpy boundary 2018-11-06 01:27:08 +01:00
Markus Gans
baabf9546e FButton now uses the widget flags directly 2018-11-05 23:19:03 +01:00
Markus Gans
f7a75247ef struct widget_flags is now a public type 2018-11-04 23:12:41 +01:00
Markus Gans
5a356664b2 The widget flags are now stored in a bit field 2018-11-04 23:00:06 +01:00
Markus Gans
1f8d16791a New method rgb2ColorIndex() to converts a 24-bit RGB color to a 256-color compatible approximation 2018-11-03 01:32:51 +01:00
Markus Gans
70f3598b62 Moved FTerm debug access methods to FTermDebugData 2018-11-02 01:28:33 +01:00
Markus Gans
deb62c2914 Moved FTerm debug access methods to FTermDebugData 2018-11-02 01:17:57 +01:00
Markus Gans
c2df8ac7d9 Moved FTerm debug access methods to FTermDebugData 2018-11-01 21:29:54 +01:00
Markus Gans
4afa988232 Add the file faq.md 2018-11-01 00:49:13 +01:00
Markus Gans
77ad698c45 Looser coupling between examples and FTerm 2018-10-30 01:13:32 +01:00
Markus Gans
c1b304e429 Looser coupling between examples and FTerm 2018-10-29 23:57:35 +01:00
Markus Gans
4d42804059 Don't print empty streams 2018-10-29 23:10:48 +01:00
Markus Gans
d35c3c0cdc Setting the value can_change_color_palette in FTermcapQuirks 2018-10-29 21:12:03 +01:00
Markus Gans
ce9d05ec7b Fix FListBox prevListItem() + nextListItem() 2018-10-29 19:10:42 +01:00
Markus Gans
7a2abc9421 Fix FListBox prevListItem() 2018-10-29 02:59:41 +01:00
Markus Gans
c96af1d3a2 Fix FString unit test 2018-10-29 01:06:11 +01:00
Markus Gans
5d134793cf FTerm is now a data member of FVTerm 2018-10-29 00:45:45 +01:00
Markus Gans
98bff1e45b Adding the capacity() method to the FString class 2018-10-27 00:13:31 +02:00
Markus Gans
96edb762c7 Building Fix for a negative value check for gcc < 4.8 2018-10-26 07:43:23 +02:00
Markus Gans
c4e333bc8b Fix the build on CentOS 6 2018-10-24 08:51:38 +02:00
Markus Gans
e359d16417 Some code formatting 2018-10-24 00:16:45 +02:00
Markus Gans
fea2d1f5b2
Merge pull request #20 from gansm/master
Merge
2018-10-22 08:42:38 +02:00
Markus Gans
3678d52766 Small code fixes 2018-10-22 01:26:24 +02:00
Markus Gans
540291b410 Moving static attributes from FApplication to FWidget 2018-10-21 21:06:52 +02:00
Markus Gans
689199efe2 createBlankArray + destroyBlankArray 2018-10-20 22:50:35 +02:00
Markus Gans
258380ae57 Changed more variables from int to std::size_t 2018-10-18 23:50:06 +02:00
Markus Gans
94e00051c5 Changed more variables from int to std::size_t 2018-10-17 22:12:52 +02:00
Markus Gans
4fac4627cd FString fix for 32-bit architectures 2018-10-15 01:51:09 +02:00
Markus Gans
de4be23a04 FString fix for 32-bit architectures 2018-10-15 01:34:57 +02:00
Markus Gans
6b753c54ed Add #pragma pack to FString 2018-10-14 20:15:52 +02:00
Markus Gans
cfc1c4ef25 change from int to std::size_t for width or height 2018-10-14 06:25:33 +02:00
Markus Gans
b6ffa0f190 Avoid using dynamic_cast in source code 2018-10-13 00:39:48 +02:00
Markus Gans
3fd5abfa1a Avoid using dynamic_cast in source code 2018-10-13 00:32:14 +02:00
Markus Gans
dbaebf0efc Out-of-bounds fix for FMouse 2018-10-11 11:40:28 +02:00
Markus Gans
fea78841b9 FKeyboard now uses references for keyboard buffer passing 2018-10-11 03:46:37 +02:00
Markus Gans
a274dd8b5e Prevent unnecessary screen flushing in command line help 2018-10-09 20:21:43 +02:00
Markus Gans
b854224eb5 Terminal detection for newer vte libraries (>= 0.53.0) 2018-10-09 16:04:21 +02:00
Markus Gans
ef21076bbd Some small code splits 2018-10-09 00:33:26 +02:00
Markus Gans
0b51df32b5 Move all termcap code into FTermcap 2018-10-08 04:14:20 +02:00
Markus Gans
5778ac2741
Merge pull request #15 from gansm/master
Merge
2018-10-05 19:37:40 +02:00
Markus Gans
e9634463b1
Merge pull request #14 from gansm/57c14fd
Merge
2018-10-05 19:30:42 +02:00
Markus Gans
19239df5d1 Remove more redundant program code from FString 2018-10-05 19:24:00 +02:00
Markus Gans
9662c09618 empty string test fix 2018-10-05 06:19:52 +02:00
Markus Gans
ca9bdad88a Fix va_start format passing 2018-10-05 05:35:33 +02:00
Markus Gans
8e2c32ebdc Remove redundant program code from FString 2018-10-05 05:15:54 +02:00
Markus Gans
da2bea4268
Merge pull request #13 from gansm/master
Merge
2018-10-05 00:12:23 +02:00
Markus Gans
c8abcce79a dding a unit test for the FTermData class 2018-10-04 00:44:21 +02:00
Markus Gans
d5e345ab68 Reduce the use of the new operators in the examples 2018-10-03 22:23:55 +02:00
Markus Gans
03bd7bd6da FMenuItem delete its entry from the parent object 2018-10-03 22:21:30 +02:00
Markus Gans
f19b4811ae Small optimizations 2018-10-02 01:03:44 +02:00
Markus Gans
8407a9d2b6 Extract FTerm data members into the data class FTermData 2018-10-01 22:27:54 +02:00
Markus Gans
27ad78e21a Build scripts update 2018-09-30 20:08:12 +02:00
Markus Gans
ef02e06fa5 Final Cut logo update 2018-09-30 20:07:22 +02:00
Markus Gans
8ea63da899 FListView sort bug fix for negative numbers 2018-09-28 06:53:27 +02:00
Markus Gans
851e3db49c FListView now has the ability to sort by columns 2018-09-28 06:45:02 +02:00
Markus Gans
64c525fc79 Add time event processing unit test 2018-09-27 03:53:51 +02:00
Markus Gans
11ba43fa0f Move time event processing from FApplication to FObject 2018-09-27 03:02:07 +02:00
Markus Gans
affdf6fe11 The FListViewItem class now has a getData() and a setData() method 2018-09-26 19:25:15 +02:00
Markus Gans
9671586be0 Build fix for non linux in FKeyboard::keyCorrection 2018-09-26 18:01:44 +02:00
Markus Gans
1eff94aead Remove indirect virtual call from constructor in FToggleButton::FToggleButton 2018-09-24 04:50:47 +02:00
Markus Gans
5f4fb835f3 Remove indirect virtual call from constructor in FToggleButton::FToggleButton 2018-09-24 04:50:09 +02:00
Markus Gans
dc4b4eec6b Add a first steps document 2018-09-24 04:17:15 +02:00
Markus Gans
4ad8335556 Stricter use of the keyword virtual 2018-09-24 04:02:35 +02:00
Markus Gans
fcefd8251c Consistent use of size_t in FTermLinux::setScreenFont 2018-09-22 04:08:24 +02:00
Markus Gans
2ac9167bcf LGTM badges 2018-09-22 03:38:20 +02:00
Markus Gans
368f74c497 Remove virtual call from constructor in FToggleButton::FToggleButton 2018-09-22 03:20:58 +02:00
Markus Gans
be7e8072fe autoconf settings 2018-09-22 01:11:05 +02:00
Markus Gans
57c14fdc65 Better Code Hub - component_depth: 1 2018-09-21 07:18:48 +02:00
Markus Gans
5bfb87ea69 Better Code Hub - component_depth: 4 2018-09-21 07:14:36 +02:00
Markus Gans
4df1aafcd0 Makefile modification 2018-09-21 07:06:18 +02:00
Markus Gans
68720529ca Makefile modification 2018-09-21 06:19:25 +02:00
Markus Gans
f00f5417b6 mv include src 2018-09-21 06:03:51 +02:00
Markus Gans
b0039e78c4 The entire library source code is now encapsulated under the namespace finalcut 2018-09-20 23:59:01 +02:00
Markus Gans
7b2257e538 finalcut.spec 2018-09-20 04:59:04 +02:00
Markus Gans
26cd5118e6 Added pkg-config file finalcut.pc 2018-09-20 04:47:51 +02:00
Markus Gans
6b5b4a1677 FTermDetection used now COLORFGBG 2018-09-18 06:04:27 +02:00
Markus Gans
0a244298b1 replace execvp with system 2018-09-18 04:22:14 +02:00
Markus Gans
f3bc5b35f4 move_buf <-> move_ptr 2018-09-18 03:37:44 +02:00
Markus Gans
fec12f5d64 Fix mkdir time of check to time of use (TOCTOU) issue 2018-09-18 03:09:14 +02:00
Markus Gans
b97fa7c61f Fix too large argument size 2018-09-16 19:43:57 +02:00
Markus Gans
0029c41bad Implement a ttytype test for the FTermDetection unit test 2018-09-16 19:33:40 +02:00
Markus Gans
5543157de5 Remove dead code 2018-09-15 02:25:30 +02:00
Markus Gans
103b4b3681 Replace kill() with waitpid() 2018-09-15 01:54:02 +02:00
Markus Gans
0433a47ec1 Added unit test for FTermDetection with a terminal simulation 2018-09-15 00:06:54 +02:00
Markus Gans
55d3e2a638 Added unit test for FTermDetection with a terminal simulation 2018-09-14 23:33:03 +02:00
Markus Gans
fc62f9cfe1 Added unit test for FTermDetection with a terminal simulation 2018-09-14 22:42:56 +02:00
Markus Gans
0a5d5aa59c Removes the deprecated keyword "register" 2018-09-12 22:51:15 +02:00
Markus Gans
fc45c3c1a5 Some small code improvements 2018-09-02 22:46:01 +02:00
Markus Gans
076598c988 Fix mouse wheel behavior over horizontal scroll bars in FTextView 2018-09-02 13:48:04 +02:00
Markus Gans
9f0ed5bb26 Compiles now with newer gcc 2018-09-02 03:57:57 +02:00
Markus Gans
627ee0f094 Compiles now with newer gcc 2018-09-02 00:43:27 +02:00
Markus Gans
c38775f878 Fixed a problem for a non-debug compilation 2018-09-01 19:06:17 +02:00
Markus Gans
0c3be5e726 Added unit test for FTermcapQuirks 2018-08-09 00:04:00 +02:00
Markus Gans
8c575e0aad Handling of keys that are substrings of other keys 2018-07-29 23:49:11 +02:00
Markus Gans
d4a163065d Added Keypad [/], [*], [-], [+] support 2018-07-29 13:25:16 +02:00
Markus Gans
0e86de5c81 Fix 4 bytes UTF-8 keyboard input 2018-07-27 12:16:43 +02:00
Markus Gans
5a77460e63 FKeyboardTest fixes 2018-07-23 02:23:10 +02:00
Markus Gans
885993c3bd FKeyboardTest fixes 2018-07-23 01:48:29 +02:00
Markus Gans
a4be4da63d Coverity Scan make check fix 2018-07-23 01:08:41 +02:00
Markus Gans
5d56ec18bf Coverity Scan make check fix 2018-07-23 00:48:26 +02:00
Markus Gans
dea3a04f58 Coverity Scan make check fix 2018-07-23 00:43:15 +02:00
Markus Gans
eef7ec0aa1 Coverity Scan make check fix 2018-07-23 00:26:32 +02:00
Markus Gans
cbbb5aad0a Added unit test for FKeyboard 2018-07-22 23:07:49 +02:00
Markus Gans
e5eebb06eb delete 2 debug files 2018-07-15 23:37:55 +02:00
Markus Gans
76f978c511 Fix Parameter passing in term::init_OptiAttr 2018-07-15 23:27:03 +02:00
Markus Gans
85e5e04ab2 Keyboard functions are now in a separate class 2018-07-15 20:01:15 +02:00
Markus Gans
c36da9e799 Keyboard functions are now in a separate class 2018-07-15 19:52:59 +02:00
Markus Gans
e36a786bc7 Extension of the unit test of FOptiMove 2018-07-08 14:48:45 +02:00
Markus Gans
bdb30c5a96 Struct to pass the FOptiMove environment 2018-07-01 14:48:53 +02:00
Markus Gans
03c3c79946 Struct to pass the FOptiAttr environment 2018-06-25 00:14:53 +02:00
Markus Gans
32097d4bf0 Added special console options for FreeBSD, NetBSD and OpenBSD 2018-06-17 23:25:32 +02:00
Markus Gans
ff3142c4aa Fixed for color > 16 2018-06-12 22:53:11 +02:00
Markus Gans
61c5fa01cb non Linux compile fix 2018-06-12 17:03:29 +02:00
Markus Gans
555e93e058 vga2ansi maps negative values to 0 2018-06-12 17:01:47 +02:00
Markus Gans
8a5b6d349d Linux functions from FTerm moved into the FTermLinux class 2018-06-12 16:52:26 +02:00
Markus Gans
231c30f740 Linux functions from FTerm moved into the FTermLinux class 2018-06-12 16:37:48 +02:00
Markus Gans
4b82af367f Fixed dereferenced null pointer 2018-05-27 23:06:49 +02:00
Markus Gans
9e46fbb4f9 Fixed dereferenced null pointer 2018-05-27 22:58:22 +02:00
Markus Gans
0927e4e1fb Move FreeBSD, NetBSD and OpenBSD functions to separate classes 2018-05-27 19:43:18 +02:00
Markus Gans
b05873babb Methods outsourcing from FTerm to FTermXTerminal 2018-05-20 15:15:42 +02:00
Markus Gans
a41f8a611c Some protected data members in FTerm moved to private 2018-05-06 21:41:55 +02:00
Markus Gans
746f3733e0 Linux framebuffer 2018-05-05 21:52:13 +02:00
Markus Gans
2044a999ab Linux framebuffer 2018-05-05 21:48:20 +02:00
Markus Gans
681153f6a1 Linux framebuffer 2018-05-05 21:43:30 +02:00
Markus Gans
1703cc4e97 Linux framebuffer 2018-05-05 21:40:43 +02:00
Markus Gans
808434313c Fix resetColorMap in FTerm 2018-05-03 04:54:51 +02:00
Markus Gans
3a8689561a Outsourcing of data from FTerm to the classes FTermios, FTermDetection and FTermcapQuirks 2018-05-02 12:31:21 +02:00
Markus Gans
b619f6bec5 Placing the terminal types in FTerm in a separate structur 2018-04-19 01:55:17 +02:00
Markus Gans
06627f6737 Stream support for FPoint and FRect 2018-04-16 02:24:37 +02:00
Markus Gans
73ba1bc219 Strict use of fc::colornames in FOptiAttr 2018-04-15 20:48:25 +02:00
Markus Gans
bbacc369ec Fake-reverse bugfix in FOptiAttr 2018-04-15 19:55:50 +02:00
Markus Gans
81c7a7e65a Unit tests update 2018-04-13 00:08:03 +02:00
Markus Gans
149ca23541 Added unit test for FOptiAttr 2018-04-12 00:34:25 +02:00
Markus Gans
2f89a8e454 Remove Cygwin bold color quirks fix in FOptiAttr 2018-04-11 21:41:22 +02:00
Markus Gans
356879bc1a Improvement in class FOptiAttr 2018-04-08 16:32:02 +02:00
Markus Gans
9978c7e341 Unit tests update 2018-04-05 12:47:32 +02:00
Markus Gans
283b22a907 Unit tests update 2018-04-05 01:27:03 +02:00
Markus Gans
f05b850fbf Unit tests update 2018-04-02 23:14:58 +02:00
Markus Gans
17a6e5b889 Unit tests update 2018-04-02 22:47:39 +02:00
Markus Gans
392203e6fa Optimized character set switching in FOptiAttr 2018-04-02 22:04:29 +02:00
Markus Gans
1da4eeb224 Added unit test for FOptiMove 2018-03-30 22:56:55 +02:00
Markus Gans
dff46376bf Unit tests update 2018-03-30 00:12:20 +02:00
Markus Gans
b2ef430954 Unit tests update 2018-03-29 01:27:57 +02:00
Markus Gans
75e7fb05c2 Unit tests update 2018-03-28 00:03:57 +02:00
Markus Gans
67bc999513 Added unit test for the mouse classes 2018-03-25 14:24:21 +02:00
Markus Gans
c114c14830 Unit tests update 2018-03-25 03:40:20 +02:00
Markus Gans
6af2cc883a Unit tests update 2018-03-23 22:01:38 +01:00
Markus Gans
0ba27ce365 Unit tests update 2018-03-23 00:26:30 +01:00
Markus Gans
3716e48045 Unit tests update 2018-03-21 22:57:55 +01:00
Markus Gans
565efb6814 Unit tests update 2018-03-21 22:51:59 +01:00
Markus Gans
9e3bb7e48f Unit tests update 2018-03-21 00:29:51 +01:00
Markus Gans
9fe0bc3241 Unit tests update 2018-03-21 00:16:55 +01:00
Markus Gans
8dd23d1673 Unit tests update 2018-03-21 00:02:43 +01:00
Markus Gans
25117e5d02 .travis.yml 2018-03-18 16:29:32 +01:00
Markus Gans
d1b57fe94c .travis.yml 2018-03-18 16:20:12 +01:00
Markus Gans
635fc5737c .travis.yml 2018-03-18 15:57:21 +01:00
Markus Gans
072c6d17e0 .travis.yml 2018-03-18 15:53:53 +01:00
Markus Gans
b1a532aefc .travis.yml 2018-03-18 15:45:04 +01:00
Markus Gans
2fd54d9f7e new COVERITY_SCAN_TOKEN 2018-03-18 15:23:36 +01:00
Markus Gans
3a3717fa7a Unit tests update 2018-03-18 15:03:07 +01:00
Markus Gans
3a652a0d9e Added unit test for FObject 2018-03-17 14:16:12 +01:00
Markus Gans
d22ff10a28 Unit tests update 2018-03-16 01:05:45 +01:00
Markus Gans
1d21c0ded9 Unit tests update 2018-03-15 00:01:31 +01:00
Markus Gans
12aeafb3d1 Unit tests update 2018-03-14 23:56:44 +01:00
Markus Gans
61f2a4677c Unit tests update 2018-03-14 00:53:28 +01:00
Markus Gans
380d3d625c Added unit test for FRect 2018-03-13 01:04:46 +01:00
Markus Gans
d2a688fdc2 Added unit test for FPoint 2018-03-11 19:20:36 +01:00
Markus Gans
9da31a7d7b Unit tests for the FString class completed 2018-03-10 16:24:39 +01:00
Markus Gans
46c03bb7bb Unit tests update 2018-03-10 13:17:57 +01:00
Markus Gans
16bbda2099 Unit tests update 2018-03-10 05:27:55 +01:00
Markus Gans
c270b39698 Unit tests update 2018-03-09 00:37:31 +01:00
Markus Gans
27cefbf99b Unit tests update 2018-03-08 17:57:17 +01:00
Markus Gans
a0bf6bd00c Unit tests update 2018-03-07 00:48:06 +01:00
Markus Gans
4241c7afaf Unit tests update 2018-03-06 00:48:43 +01:00
Markus Gans
7f5dc3bfe2 Unit tests update 2018-03-05 22:26:44 +01:00
Markus Gans
dfbe632d26 Unit tests update 2018-03-05 21:27:30 +01:00
Markus Gans
d97f03027e Unit tests update 2018-03-05 03:15:16 +01:00
Markus Gans
2459126924 Unit tests update 2018-03-05 00:25:05 +01:00
Markus Gans
f343945ff7 Unit tests update 2018-03-03 22:24:57 +01:00
Markus Gans
2bc3fe4dd1 Unit tests update 2018-03-02 00:02:54 +01:00
Markus Gans
b51d7a399c Unit tests update 2018-03-01 01:05:32 +01:00
Markus Gans
f42175c8da Unit tests update 2018-03-01 00:00:30 +01:00
Markus Gans
74629b9ffb Unit tests update 2018-02-28 23:52:34 +01:00
Markus Gans
8d946b073d Unit tests update 2018-02-28 00:18:49 +01:00
Markus Gans
1d6526fe1b Unit tests update 2018-02-27 01:03:33 +01:00
Markus Gans
91f6e566f4 Unit tests update 2018-02-27 00:55:51 +01:00
Markus Gans
3f0f262bc8 Unit tests update 2018-02-27 00:45:02 +01:00
Markus Gans
68a63061ef build.sh 2018-02-25 22:48:18 +01:00
Markus Gans
571409e346 build.sh + .travis.yml 2018-02-25 22:04:36 +01:00
Markus Gans
f89258fa84 libcppunit-dev 2018-02-25 21:49:04 +01:00
Markus Gans
a00f052e4d First CppUnit tests implemented 2018-02-25 21:42:18 +01:00
Markus Gans
d80bfc5a3a Update Better Code Hub config 2018-02-24 19:40:25 +01:00
Markus Gans
81e585e299 Add test directory 2018-02-24 19:37:20 +01:00
Markus Gans
67f2cbcf76 Update Better Code Hub config 2018-02-24 19:19:28 +01:00
Markus Gans
e0f4872d6e Refactoring of some functions 2018-02-24 18:13:42 +01:00
Markus Gans
1435d9d362 Generalize mouse event passing in FMenuItem 2018-02-22 01:15:57 +01:00
Markus Gans
8bc40459e0 Refactoring FListView scroll bar callbacks 2018-02-20 23:35:10 +01:00
Markus Gans
4778de5c52 Refactoring FTerm::init_encoding 2018-02-19 23:02:54 +01:00
Markus Gans
aa18e5b5ba Refactoring FScrollView::init 2018-02-19 23:02:19 +01:00
Markus Gans
9426657c43 Refactoring FTerm::init_termcaps 2018-02-19 01:36:38 +01:00
Markus Gans
4322e957c9 Refactoring FDialog::initDialogMenu 2018-02-18 22:45:49 +01:00
Markus Gans
69956ce76f Avoid scroll bar overshooting 2018-02-18 21:50:24 +01:00
Markus Gans
0f16b51e04 Refactoring FListView::onMouseMove 2018-02-18 21:49:58 +01:00
Markus Gans
06423664c0 license information 2018-02-17 20:58:07 +01:00
Markus Gans
4da8982f42 Generalize scroll functions in FTextView 2018-02-17 19:12:48 +01:00
Markus Gans
d8a6c25ce0 Refactoring of some functions 2018-02-11 23:41:23 +01:00
Markus Gans
2af1b1d0d4 Refactoring FOptiMove::verticalMove and FOptiMove::horizontalMove 2018-02-10 17:35:09 +01:00
Markus Gans
c2d7f8b8ee Refactoring of some functions 2018-02-08 00:25:51 +01:00
Markus Gans
d1083b6a95 Refactoring of some functions 2018-02-04 19:42:30 +01:00
Markus Gans
2ef3d84829 Avoids flickering when redrawing a focused widget 2018-02-03 00:04:24 +01:00
Markus Gans
7424dd74b4 Refactoring FMessageBox::init and FFileDialog::init 2018-01-31 23:37:03 +01:00
Markus Gans
bce4021f45 Refactoring FSwitch::drawCheckButton and FWidget::redraw 2018-01-31 00:17:00 +01:00
Markus Gans
10275c0953 Refactoring FLabel::draw and FFileDialog::readDir 2018-01-30 00:11:58 +01:00
Markus Gans
7eb6bfa587 Refactoring FApplication::processKeyboardEvent 2018-01-28 19:54:52 +01:00
Markus Gans
213407e3a5 UTF-8 fix for Solaris 2018-01-25 09:32:29 +01:00
Markus Gans
1fc960f672 UTF-8 fix for Solaris 2018-01-25 09:31:59 +01:00
Markus Gans
ac8ac70b9c The color palette redefinition now has its own class 2018-01-24 23:02:45 +01:00
Markus Gans
421314e89a Fixes compiler errors for latest Cygwin versions 2018-01-24 00:25:32 +01:00
Markus Gans
97f8d998a7 Fixes compiler errors for latest Cygwin versions 2018-01-22 19:47:20 +01:00
Markus Gans
d84132816f The Final Cut can now also be compiled under Cygwin 2018-01-21 16:25:19 +01:00
Markus Gans
ec63b0039e The Final Cut can now also be compiled under Cygwin 2018-01-21 16:21:41 +01:00
Markus Gans
91023e3a76 Small array optimizations 2018-01-17 21:11:26 +01:00
Markus Gans
2d9103c102 macOS build fix 2018-01-16 16:16:29 +01:00
Markus Gans
460dff3291 Mouse functions are now in a separate class 2018-01-14 22:39:17 +01:00
Markus Gans
afe15753f7 Mouse functions are now in a separate class 2018-01-14 22:24:15 +01:00
Markus Gans
8addcbbcb7 Mouse functions are now in a separate class 2018-01-14 21:53:45 +01:00
Markus Gans
48cdd9bb0a Mouse functions are now in a separate class 2018-01-14 21:21:08 +01:00
Markus Gans
3419e9e908 Refactoring FVTerm::restoreVTerm 2018-01-05 00:49:00 +01:00
Markus Gans
f53efc90c5 Refactoring FOptiMove::relativeMove 2018-01-03 22:58:07 +01:00
Markus Gans
9bb22e7d7b Refactoring attribute settings in FOptiAttr 2018-01-03 20:06:22 +01:00
Markus Gans
76d72208e5 Refactoring FTerm::parseKeyString and timeout settings 2018-01-03 08:42:10 +01:00
Markus Gans
06bfb8bc64 Refactoring of secondary device attributes parsing 2018-01-02 20:38:45 +01:00
Markus Gans
2e64c0da32 Refactoring of the FMenuBar mouse event handler 2017-12-31 03:25:50 +01:00
Markus Gans
3b90af9efb Replace the switch-case in the calculator example by an STL map with method pointers 2017-12-30 21:27:17 +01:00
Markus Gans
61f824f54d Refactoring of the FListBox mouse event handler 2017-12-30 03:54:05 +01:00
Markus Gans
a880684432 Refactoring of the FDialog mouse event handler 2017-12-29 02:10:05 +01:00
Markus Gans
260bf9ac91 fix FScrollbar initialize the variable 'z' 2017-12-28 00:00:56 +01:00
Markus Gans
9bd711dc0e Generalize scroll functions in FScrollView 2017-12-27 23:51:32 +01:00
Markus Gans
b91f76710b fix wrong inline 2017-12-27 01:51:28 +01:00
Markus Gans
c41ecde590 Some methods refactored + new FDialog methods 2017-12-27 01:38:28 +01:00
Markus Gans
fd5404ba57 Refactoring FButton::draw + Passing more strings by reference 2017-12-25 21:17:08 +01:00
Markus Gans
b886143701 (de)allocation functions in FTerm 2017-12-21 00:45:04 +01:00
Markus Gans
ff1fe44132 Refactoring FMenuBar::drawItems 2017-12-21 00:25:58 +01:00
Markus Gans
ef5970b09c Refactoring FMenu::drawItems 2017-12-19 02:06:27 +01:00
Markus Gans
ec57ec6f74 The Final Cut now also compiles under Solaris 2017-12-17 01:06:53 +01:00
Markus Gans
c10a88008c Add Sun Microsystems workstation console support 2017-12-14 00:35:10 +01:00
Markus Gans
fd75f5af42 Refactoring of the FMenu mouse event handler 2017-12-10 15:36:02 +01:00
Markus Gans
a173f2bc1e More individual arithmetic operations methods in the calculator example 2017-12-08 23:51:56 +01:00
Markus Gans
6921171616 Refactoring FApplication::processKeyboardEvent 2017-12-05 23:55:12 +01:00
Markus Gans
6d3231a498 Refactoring FApplication::processMouseEvent 2017-12-05 01:03:59 +01:00
Markus Gans
937cd8a0f0 Fix dereference before null check in FVTerm::updateVTerm 2017-12-03 21:34:07 +01:00
Markus Gans
212172f522 Refactoring FListBox::drawList and FListBox::onKeyPress 2017-12-03 21:06:21 +01:00
Markus Gans
8c970c88dd non build linux fix 2017-12-02 19:06:27 +01:00
Markus Gans
1f8894b801 Refactoring FApplication::linuxModifierKeyCorrection and FVTerm::updateVTerm 2017-12-02 18:52:51 +01:00
Markus Gans
abf89f1538 Refactoring FVTerm::updateTerminalLine 2017-11-30 02:38:55 +01:00
Markus Gans
6be608ba57 Improved code alignment 2017-11-26 22:37:18 +01:00
Markus Gans
6ef36ac7f7 Splitting FOptiMove::moveCursor into sub-functions 2017-11-26 19:00:04 +01:00
Markus Gans
64aa8d18b8 Splitting quirks in serperate methods 2017-11-25 18:37:40 +01:00
Markus Gans
0c45d7d8bc Color palette defined for 8 colors 2017-11-24 23:57:41 +01:00
Markus Gans
607294c71a Refactor some functions 2017-11-24 00:28:25 +01:00
Markus Gans
3ced63510c Remove duplicated code from FOptiAttr::changeAttribute 2017-11-23 00:59:58 +01:00
Markus Gans
051fbab046 Remove duplicated code in FVTerm::print 2017-11-22 23:56:21 +01:00
Markus Gans
a2061786c8 ui.cpp bugfix 2017-11-19 19:53:43 +01:00
Markus Gans
d8759ff51d Splitting the FString example into sub-functions 2017-11-19 19:47:24 +01:00
Markus Gans
0864055cab Splitting init_termcaps() into multiple submethods 2017-11-18 21:03:02 +01:00
Markus Gans
9c987ca49c Improved command line paramenter handlin 2017-11-18 02:34:41 +01:00
Markus Gans
053b6bcf30 .travis.yml update 2017-11-11 22:32:49 +01:00
Markus Gans
3a5c1a8e47 .travis.yml update 2017-11-11 22:18:15 +01:00
Markus Gans
f3a8786b3f .travis.yml update 2017-11-11 22:02:21 +01:00
Markus Gans
c67e993467 Improved code coverage tests 2017-11-11 21:09:04 +01:00
Markus Gans
a5de52b7a5 Improved code coverage tests 2017-11-11 14:52:33 +01:00
Markus Gans
c9b346f419 Simulate invisible characters on terminals that do not support this attribute 2017-11-08 17:19:29 +01:00
Markus Gans
ed73858196 Simulate invisible characters on terminals that do not support this attribute 2017-11-08 01:00:44 +01:00
Markus Gans
129384d416 Version 0.4.0 2017-11-04 07:03:53 +01:00
Markus Gans
aa4caf4fcb Bug: The window example called a callback method after child data was deleted 2017-11-03 22:57:40 +01:00
Markus Gans
1bf4f2f906 Small NewFont improvements 2017-11-03 20:12:27 +01:00
Markus Gans
19c8dd50a9 Move fonts into the root directory 2017-11-02 16:05:34 +01:00
Markus Gans
d821631d87 Better Code Hub config 2017-10-31 17:27:38 +01:00
Markus Gans
3a36ca3dbd Only <final/final.h> can now be directly integrated in programs 2017-10-31 00:41:59 +01:00
Markus Gans
686283cb01 Add a standardized close confirmation dialog 2017-10-30 20:56:00 +01:00
Markus Gans
b0b44582e8 Fix scrollview functionality with new inheritance structure 2017-10-30 20:29:00 +01:00
Markus Gans
9b47e5c980 Add a standardized cb_exitApp callback method to FApplication 2017-10-29 18:27:38 +01:00
Markus Gans
7caeb02217 Adaptation of the inheritance diagrams in the header files 2017-10-29 14:27:50 +01:00
Markus Gans
3746dac885 FWidget now inherits directly from FObject 2017-10-27 23:28:37 +02:00
Markus Gans
d1f2de254d A FListView tree branch can now be expand and collapsed with a single click 2017-10-23 16:16:06 +02:00
Markus Gans
4d955bc204 Optimized Color palette 2017-10-19 23:20:04 +02:00
Markus Gans
b11e37a921 Expand or collapse a tree element with a double-click 2017-10-18 23:07:15 +02:00
Markus Gans
1cb6a5f73d FObject double free prevention of fc::empty_string 2017-10-15 23:22:13 +02:00
Markus Gans
af2caf8fcf Minor tree view improvements 2017-10-15 15:27:36 +02:00
Markus Gans
2e506a1367 First implementation of a tree view in the FListView class 2017-10-14 22:20:19 +02:00
Markus Gans
1543d042cb Replace the deprecated readdir_r function 2017-10-14 20:29:29 +02:00
Markus Gans
9e0b6f8b53 Fixed a bug in the FObject check of parent objects 2017-10-14 20:21:44 +02:00
Markus Gans
b4b84225d5 Small class diagram improvement 2017-10-07 23:55:01 +02:00
Markus Gans
5c5c9759f0 The include guard for fconfig.h no longer has an underscore prefix 2017-10-07 21:57:07 +02:00
Markus Gans
0277abcbdb DECSCUSR - Set Cursor Style support for VTE >= 0.40.0 and gnome-terminal >= 3.16 2017-10-06 12:19:39 +02:00
Markus Gans
975212bac0 mouse support for coordinates > 255 and copyright informations 2017-10-02 10:01:58 +02:00
Markus Gans
b9f6a6bee6 Stream and assignment operator support for FLineEdit 2017-09-21 07:22:08 +02:00
Markus Gans
b3e9a0bba1 New data type FStringList introduced 2017-09-20 16:56:20 +02:00
Markus Gans
c97511a6cc Uncaught exception fix 2017-09-20 06:50:29 +02:00
Markus Gans
f5a5ba3528 Uncaught exception fix 2017-09-20 06:25:53 +02:00
Markus Gans
4eef45b8f0 Uncaught exception fix 2017-09-20 06:19:27 +02:00
Markus Gans
a6c30bb2b5 Stream and assignment operator support for FLabel 2017-09-20 05:44:41 +02:00
Markus Gans
b41411e764 Streaming support for FString 2017-09-20 02:51:17 +02:00
Markus Gans
fc113795b4 The command line help text is now available in all applications 2017-09-19 06:18:03 +02:00
Markus Gans
82f1b7e44c std::scanf used now fields with width limit 2017-09-18 00:10:14 +02:00
Markus Gans
59e8dd65c4 new + delete in the same scope 2017-09-17 21:44:22 +02:00
Markus Gans
28f3de0971 All include files were moved to a separate director 2017-09-17 21:32:46 +02:00
Markus Gans
ab26baa47c All include files were moved to a separate directory 2017-09-17 21:30:04 +02:00
Markus Gans
4df0418aee FObject has received the iterator child access methods begin() and end() 2017-09-17 01:50:41 +02:00
Markus Gans
37f8ee81c9 Fix overrunning array 2017-09-16 01:21:16 +02:00
Markus Gans
0e4ba28544 Fix byte access in data type char_data 2017-09-15 01:31:02 +02:00
Markus Gans
0ce3868e74 Fix handling of negative numbers in FString::toLong() 2017-09-11 22:50:07 +02:00
Markus Gans
01a4fb9db7 Some code improvements 2017-09-11 03:48:21 +02:00
Markus Gans
745e3677ed Some code improvements 2017-09-11 03:23:50 +02:00
Markus Gans
dc3c5d19e4 Some code improvements 2017-09-11 03:06:02 +02:00
Markus Gans
1cd1e521c3 Wrong UTF-8 string length fixed when attaching to FString 2017-09-09 22:03:17 +02:00
Markus Gans
f941da79e7 Type definition exported into a separate header file 2017-09-07 23:35:24 +02:00
Markus Gans
92af0e811c Class diagram update 2017-09-06 02:15:00 +02:00
Markus Gans
5a077e73c4 Fixes wrong maximum line width in FListView 2017-09-03 18:32:43 +02:00
Markus Gans
5f7737bf64 Improve code readability through spaces between the operands and the operators 2017-08-27 09:50:30 +02:00
Markus Gans
12c0d53192 FMenuItem accelerator fix 2017-08-24 22:58:34 +02:00
Markus Gans
3f8b9d774b Rename fapp.{cpp,h} to fapplication.{cpp,h} 2017-08-24 00:47:35 +02:00
Markus Gans
aad380ca6f Black Duck CoPilot 2017-08-20 21:47:11 +02:00
Markus Gans
37e4f7e222 Screen characters got a union structure for a faster attribute compare operation 2017-08-20 17:30:30 +02:00
Markus Gans
3854de73d3 Add some bad allocation checks 2017-08-12 23:11:21 +02:00
Markus Gans
abd501b558 Add some bad allocation checks 2017-08-12 22:55:29 +02:00
Markus Gans
2a85f7e977 Some code improvements 2017-08-12 20:10:27 +02:00
Markus Gans
48e737818c Some code changes for GCC 7 2017-08-11 10:50:39 +02:00
Markus Gans
55070bfc39 Advanced streaming functionality for FTermBuffer and FVTerm::print() 2017-08-06 17:02:19 +02:00
Markus Gans
ba17c529ff New methods to set and get FListViewItem and FListView text for a column 2017-08-01 00:56:12 +02:00
Markus Gans
0240d782ca Possibility for a FListView column to set the alignment 2017-07-28 22:18:42 +02:00
Markus Gans
30515db9ec Check an object with isInstanceOf(...) whether it is an instance of a specified class 2017-07-23 01:19:59 +02:00
Markus Gans
d8c41b879d New Widget class FListView to allow a multi-column data view 2017-07-18 23:50:51 +02:00
Markus Gans
a998706e5e New class FTermBuffer to buffer terminal outputs 2017-07-12 01:16:57 +02:00
Markus Gans
b36fc80f51 Use more static const variables where it makes sense 2017-07-03 16:56:32 +02:00
Markus Gans
b0b5282c9a FString::rtrim() and FString::left() now return an FString object with the correct character length 2017-06-26 23:35:34 +02:00
Markus Gans
82869a95b7 Better check at focusNextChild for the last element 2017-06-19 02:12:11 +02:00
Markus Gans
ddb1c884e4 Move the dragScroll enumeration into the fc namespace 2017-06-18 19:36:22 +02:00
Markus Gans
28cdbc77af Dereferencing pointer focused_widget 2017-06-14 01:23:10 +02:00
Markus Gans
bd10bc74c5 initialize next and prev in FWidget 2017-06-14 01:06:48 +02:00
Markus Gans
e116197f62 initialize next and prev in FWidget 2017-06-14 01:02:02 +02:00
Markus Gans
b1d323ef76 New method FObject::isWidget() 2017-06-11 17:47:50 +02:00
Markus Gans
526e193fb7 The focus and active flag is set centrally in FWidget 2017-06-05 16:11:25 +02:00
Markus Gans
b4b95f7b45 Recalculate the horizontal FListBox scroll bar size on lazy conversion 2017-05-20 22:43:55 +02:00
Markus Gans
baea344b3c FListBox: Import of data from a container via "lazy conversion" during item print 2017-05-19 22:47:13 +02:00
Markus Gans
b3505af040 FListBox: Import of data from a container via "lazy conversion" during item print 2017-05-19 22:16:50 +02:00
Markus Gans
ca7ba6ae7e Data import from a standard container in FListBox 2017-04-23 18:54:46 +02:00
Markus Gans
90fa4b0391 FString allocates no new memory if the size sufficient 2017-04-17 22:50:25 +02:00
Markus Gans
a7a11083d5 FString allocates no new memory if the size sufficient 2017-04-17 22:49:42 +02:00
Markus Gans
0c3668573d Speed up FString::setNumber() by using a decimal string lookup table 2017-04-17 01:03:14 +02:00
Markus Gans
09d6c2879d Fix unsigned integer underflow in FString::_insert() 2017-04-15 19:32:43 +02:00
Markus Gans
cb2e2e2045 Open/NetBSD (wscons): Alt key generate Esc prefix 2017-04-14 23:55:44 +02:00
Markus Gans
2ec425480a Enable xterm "metaSendsEscape" switch 2017-04-11 00:30:27 +02:00
Markus Gans
c6dba0b4ac Rename preprocessor macro names with leading underscore 2017-04-09 20:08:53 +02:00
Markus Gans
68c4b8385a Fix: Dereference of null pointer in ffiledialog.cpp 2017-04-08 14:25:55 +02:00
Markus Gans
56fe0720ef Fix: Dereference of null pointer in ffiledialog.cpp 2017-04-08 14:23:52 +02:00
Markus Gans
62e00b69fc Fix: Dereference of null pointer in ffiledialog.cpp 2017-04-08 13:41:37 +02:00
Markus Gans
7ead64f2b8 Looking in /etc/ttys for the type of terminal 2017-04-08 02:40:22 +02:00
Markus Gans
278ac9d921 Change cursor style on a FreeBSD console 2017-04-06 01:33:10 +02:00
Markus Gans
0a581cb58b Change cursor style on a FreeBSD console 2017-04-06 01:31:21 +02:00
Markus Gans
7f134ccada New Method setInsertCursorStyle() 2017-04-05 22:25:20 +02:00
Markus Gans
6b5f033b7b Replace non-printable chars for Tera Term and Cygwin 2017-04-05 00:30:52 +02:00
Markus Gans
8de22dc903 Avoid non-printable ASCII codes < 0x1c on FreeBSD 2017-04-02 21:32:48 +02:00
Markus Gans
09eb75c14b Remap meta key to left alt on FreeBSD console 2017-04-02 13:31:00 +02:00
Markus Gans
0e5b1dfebd Remap meta key to left alt on FreeBSD console 2017-04-02 13:30:23 +02:00
Markus Gans
bcfa7fb731 termcap "me" does not reset the alternate character set 2017-03-30 00:46:52 +02:00
Markus Gans
d5b2c9dc99 Improved alternate character set for FreeBSD console 2017-03-28 08:50:37 +02:00
Markus Gans
d7aa8f3a70 termtype was not null terminated 2017-03-26 21:44:09 +02:00
Markus Gans
4b93b71a6d add missing debug switch 2017-03-26 21:10:43 +02:00
Markus Gans
48b2e6a816 compiles now under FreeBSD 2017-03-26 20:40:04 +02:00
Markus Gans
ef5ca7d5f8 Add the "mouse" example 2017-03-19 17:18:07 +01:00
Markus Gans
e66171ee73 More constant character pointers 2017-03-17 23:22:13 +01:00
Markus Gans
05c61f1901 More constant character pointers 2017-03-17 22:59:06 +01:00
Markus Gans
06ec274d00 Corrects directly the input cursor position on window moving 2017-03-12 20:29:10 +01:00
Markus Gans
7ab1a6b353 Fixed bug in FString copy constructor 2017-03-12 01:26:08 +01:00
Markus Gans
4107227119 on-demand scroll bars for FButtonGroup 2017-03-12 00:29:56 +01:00
Markus Gans
56df867ef7 Improve input cursor positioning in FScrollView 2017-03-08 23:48:30 +01:00
Markus Gans
bd06df8987 Corrected swapped top and left offset variables in the class FVTerm 2017-02-25 15:18:29 +01:00
Markus Gans
34961037f8 Fixes incorrect return value of FString::toString() 2017-02-24 23:31:56 +01:00
Markus Gans
784afc5a07 Add the missing access method FListBoxItem::getData() 2017-02-24 23:16:05 +01:00
Markus Gans
7c11ba1707 FListBox saves data pointer in FListBoxItems 2017-02-24 00:30:07 +01:00
Markus Gans
b35d225ff5 FButtonGroup now inherits from FScrollView 2017-02-20 00:00:53 +01:00
Markus Gans
3f8ed6e78e Allows a window to have more than one FScrollView widget 2017-02-18 23:37:10 +01:00
Markus Gans
09021d9c0a Check of the termcap capability U8 2017-02-07 17:15:01 +01:00
Markus Gans
754a863cfe Debian files dependencies update 2017-02-06 22:47:48 +01:00
Markus Gans
a67eeaa94f Small makefile fix 2017-02-06 02:21:40 +01:00
Markus Gans
e369a11d1a Add Debian files to create packages 2017-02-05 23:55:54 +01:00
Markus Gans
dbbf811993 Better monochrome support in scrollview example 2017-01-28 23:20:38 +01:00
Markus Gans
36bba82e9f Allow to change the focus out from FScrollView 2017-01-28 22:03:15 +01:00
Markus Gans
d2ba29d842 FScrollView now scrolls automatically to the focused widget 2017-01-26 00:37:02 +01:00
Markus Gans
59189160fd FScrollView now scrolls automatically to the focused widget 2017-01-26 00:31:07 +01:00
Markus Gans
51b1d18a84 FScrollView now allows client widget 2017-01-22 23:04:40 +01:00
Markus Gans
5cb7b77f4e Virtual window gets a preprocessing handler 2017-01-15 19:48:27 +01:00
Markus Gans
49e36e5203 Add scrollTo and scrollBy methods to FScrollView 2017-01-07 22:09:09 +01:00
Markus Gans
99ff28cbbe Add FScrollView arrow keys support 2017-01-03 19:02:04 +01:00
Markus Gans
87ca58b898 FScrollView now has on-demand scroll bars 2017-01-03 05:19:44 +01:00
Markus Gans
b2e4a59f54 FScrollView provides a scrollable viewport to change area 2017-01-02 08:07:46 +01:00
Markus Gans
628bec0b29 Reduce public methods in FVTerm 2016-12-28 16:29:49 +01:00
Markus Gans
2c8d58f803 Avoid non-working tab-moves on Linux terminals with PC or VT100 encoding 2016-12-27 23:03:32 +01:00
Markus Gans
386e91563a Add the ability to stream text into a widget's virtual window with print() or *this 2016-12-26 01:15:32 +01:00
Markus Gans
f67537fba4 Correct gpm detection in configure script 2016-12-22 12:27:11 +01:00
Markus Gans
c4a8886da2 VTerm marks printed characters for a correct determination of unchanged characters 2016-12-22 02:02:40 +01:00
Markus Gans
b9f3be782f Skipping the print of characters without changes 2016-12-18 23:34:11 +01:00
Markus Gans
fedb5f64f3 Reduce the character output by using character erase and character repeat 2016-12-15 23:11:34 +01:00
Markus Gans
e4284615db Accelerates text line drawing by clear with CSI sequences 2016-12-11 16:42:50 +01:00
Markus Gans
b10cf800bd Restore window titl only if it could be read before 2016-11-29 00:23:45 +01:00
Markus Gans
4012cdb7b0 Version 0.3.0 2016-11-27 19:16:52 +01:00
Markus Gans
4da63ebcac Improvements for ansi terminal emulators 2016-11-27 00:41:34 +01:00
Markus Gans
33c03cf6fc Optimized the terminal clear screen 2016-11-26 18:40:50 +01:00
Markus Gans
1895dc001b Optimized the terminal clear screen 2016-11-26 18:15:31 +01:00
Markus Gans
8beed7b330 Add the opti-move test program 2016-11-26 15:18:44 +01:00
Markus Gans
5530c99d22 Increase speed on cygwin terminals 2016-11-20 21:15:43 +01:00
Markus Gans
082bbfbaa2 Improve tty settings 2016-11-20 18:26:15 +01:00
Markus Gans
fc8ee51e72 Do not draw shadows on a linux console if not all characters are available 2016-11-13 22:08:40 +01:00
Markus Gans
04a483526f Optimized input cursor positioning for terminals without hidden cursor 2016-11-12 22:59:48 +01:00
Markus Gans
125c4b961b The use of xterm default colors now is configurable 2016-11-06 16:36:21 +01:00
Markus Gans
e66f00ea92 Determine xterm maximum number of colors via OSC 4 2016-11-05 23:12:05 +01:00
Markus Gans
b9cc271765 xterm should be able to use at least 16 colors 2016-11-03 23:26:19 +01:00
Markus Gans
75b452bf52 The class declaration now has a consistent order 2016-11-02 00:37:58 +01:00
Markus Gans
1613d5bb55 Refactor the VGA attribute controller access code 2016-10-17 08:44:38 +02:00
Markus Gans
00c33a8d61 CodeDocs 2016-10-15 18:32:54 +02:00
Markus Gans
ff6deaf4ab Each virtual window gets its own virtual print cursor 2016-10-15 03:32:30 +02:00
Markus Gans
e6368749d4 Fix: Dereference of null pointer in fvterm.cpp 2016-10-14 17:37:26 +02:00
Markus Gans
17b59cf50d Virtual windows can now store their own offset information 2016-10-14 13:02:35 +02:00
Markus Gans
d9e5aac828 remove dead return code 2016-10-13 02:57:11 +02:00
Markus Gans
cae1a742ea Reduces in the code the number of friend classes 2016-10-13 02:16:51 +02:00
Markus Gans
560e8c9811 Fix linking problem 2016-10-11 05:31:12 +02:00
Markus Gans
b668f7011c Separate the virtual terminal into a own class vterm 2016-10-11 04:57:36 +02:00
Markus Gans
e14cd1af83 Remove some duplicate code 2016-10-09 02:06:06 +02:00
Markus Gans
8328af4132 Add the possibility to scroll text up and down in a virtual window 2016-10-08 02:54:32 +02:00
Markus Gans
605194b69e input cursor is now controlled by the vterm 2016-10-06 23:15:09 +02:00
Markus Gans
a2d69f5e7b Fix: Dereference of null pointer in transparent.cpp 2016-10-02 21:42:14 +02:00
Markus Gans
1231b9f65d FStatusBar and FMenuBar use now the always-on-top window option 2016-10-02 21:26:25 +02:00
Markus Gans
9ccc5a4f27 New FToolTip widget to show assisted information 2016-10-01 23:18:49 +02:00
Markus Gans
c25ee14fe7 Move or resize a window with the arrow keys 2016-09-30 04:55:28 +02:00
Markus Gans
c43a7f9bad The window size is now changeable with the mouse 2016-09-29 04:29:12 +02:00
Markus Gans
7369ed1a10 FLabel now transmits the Click events to the parent widget 2016-09-27 00:46:05 +02:00
Markus Gans
9475f34499 Replacing the widget position variables by FRect objects 2016-09-25 23:53:48 +02:00
Markus Gans
9551924b73 Fix: Dereference of null pointer in FDialog 2016-09-11 17:26:41 +02:00
Markus Gans
e462db30a9 New zoom interaction-elements to maximize a FDialog 2016-09-11 16:48:39 +02:00
Markus Gans
fa037ee3ec Fix meta key + 1..9 dialog switch in transparent.cpp 2016-09-05 19:14:51 +02:00
Markus Gans
6749164aca FButton, FDialog, FLineEdit and FProgressbar has now shadow as default 2016-09-04 18:31:31 +02:00
Markus Gans
3d0f046de9 clearFlatBorder() replace now a double flatline with a single flatline 2016-09-03 15:17:48 +02:00
Markus Gans
817e033d57 setGeometry assigns now the full widget size to the double_flatline_mask 2016-09-02 23:06:47 +02:00
Markus Gans
be96aea0d8 incorrect parameter can now return an error message 2016-08-28 22:52:55 +02:00
Markus Gans
44cb96e732 incorrect parameter can now return an error message 2016-08-28 22:43:14 +02:00
Markus Gans
2904ed31b9 new inherit background option for characters 2016-08-27 23:23:42 +02:00
Markus Gans
98fbce5de6 Use the new transparent shadow option in drawShadow() 2016-08-25 01:54:10 +02:00
Markus Gans
f493f7d480 Fix: Dereference of null pointer in FButtonGroup 2016-08-21 22:47:45 +02:00
Markus Gans
bd1b9e7c90 Add a transparent example program 2016-08-21 21:29:04 +02:00
Markus Gans
7d0cf3383e Add a transparent example program + improve transparent shadow 2016-08-21 21:27:44 +02:00
Markus Gans
f870506194 switchToPrevWindow() is looking for another window if no previous window was found 2016-08-21 00:16:34 +02:00
Markus Gans
5f3f8468ea Switch back to the own dialog when you closing a dialog menu 2016-08-20 22:33:59 +02:00
Markus Gans
bbfbde465f Switch back to the own dialog when you closing a dialog menu 2016-08-20 22:27:23 +02:00
Markus Gans
b08d064226 Screen characters now have a transparent and a transparent shadow option 2016-08-14 23:27:34 +02:00
Markus Gans
485b8e25aa Fix: Dereference of null pointer in FMenu 2016-08-06 22:46:37 +02:00
Markus Gans
4deede746f Fix: Dereference of null pointer in FMenu 2016-08-06 22:01:22 +02:00
Markus Gans
5606d66404 widget clearing updates now only non-covered characters 2016-08-06 21:43:39 +02:00
Markus Gans
f81370f8cf Do not redraw the dialog on activate 2016-07-31 22:49:09 +02:00
Markus Gans
303c402ada Add the windows example to show the window behavior 2016-07-31 20:28:45 +02:00
Markus Gans
0ad1228b1a Fix method setPos in the class FRect 2016-07-31 20:25:25 +02:00
Markus Gans
d5685aaafc Remove dialog list item callback from the associated dialog window 2016-07-30 23:00:37 +02:00
Markus Gans
9b7918f2f6 Delete all callbacks from a widget, when it will be destroyed 2016-07-30 14:34:13 +02:00
Markus Gans
15793868fe Improvements for the window focus 2016-07-28 23:38:17 +02:00
Markus Gans
d3f5979873 Segmentation fault fix 2016-07-28 01:04:27 +02:00
Markus Gans
94c297ba88 Widget focus at window change 2016-07-28 00:06:32 +02:00
Markus Gans
95f1bdc23a Widget focus at window change 2016-07-27 23:47:12 +02:00
Markus Gans
a91d0566fc Improvements for the window focus 2016-07-27 04:55:10 +02:00
Markus Gans
cb468c59d2 Improvements for the window focus 2016-07-25 23:50:57 +02:00
Markus Gans
4ba7af7cdc Remove callbacks and accelerator keys from FDialogListMenu on closing a dialog window 2016-07-24 20:18:23 +02:00
Markus Gans
7d6d5cf71f Fix: Dereference of null pointer in FOptiAttr 2016-07-24 13:51:36 +02:00
Markus Gans
add402c5ac Fix: Dereference of null pointer in FOptiAttr 2016-07-24 01:08:22 +02:00
Markus Gans
4cccc6527b Small code improvements 2016-07-23 20:56:20 +02:00
Markus Gans
8b0ac17b63 Add a modifier key correction for the linux tty 2016-07-23 19:59:55 +02:00
Markus Gans
3a822e3f3b Add a modifier key correction for the linux tty 2016-07-23 19:50:28 +02:00
Markus Gans
c16d3dc3c5 Support to read meta+tab from keyboard 2016-07-17 20:30:00 +02:00
Markus Gans
75b6ac477e Switch to a specific dialog with meta + 1..9 2016-07-16 20:39:38 +02:00
Markus Gans
ef201a1a33 Adding a dialog list with the entries in the chronological order of the generation 2016-07-14 23:55:22 +02:00
Markus Gans
9ef3bd3243 Bind accelerator key from the FMenuItem to the root widget 2016-07-14 00:12:16 +02:00
Markus Gans
2acda53224 Status and menu bar insert accelerator keys into root widget 2016-07-12 23:35:33 +02:00
Markus Gans
fbb3c8ef11 FDialog focus fix 2016-07-10 03:51:20 +02:00
Markus Gans
07bcf76bf4 Remove obsolete code from FDialog destructor 2016-07-10 00:23:39 +02:00
Markus Gans
9766ee4b6f Better code readability: control structures (if/else, while, switch) are now separated by a blank line. 2016-07-09 00:01:59 +02:00
Markus Gans
2b40854e2f Stop terminal updates during processCloseWidget() is working 2016-07-06 23:11:49 +02:00
Markus Gans
11a7aad0ee Fix unchecked dynamic_cast 2016-07-03 20:27:27 +02:00
Markus Gans
b7c11c7c90 Code simplification 2016-07-03 20:16:43 +02:00
Markus Gans
71b5b16865 Add the new class FDialogListMenu to switch between dialog menus 2016-07-03 20:08:39 +02:00
Markus Gans
0c4b3a3a14 Fix the use-after-free bug for previous_widget 2016-06-27 23:08:32 +02:00
Markus Gans
a179e190f9 Bug fix for FWindow::activatePrevWindow() 2016-06-26 16:08:03 +02:00
Markus Gans
e29e58acb6 Move processNextEvent() code into sub functions 2016-06-25 14:33:43 +02:00
Markus Gans
396525d80f Adding required updateTerminal() calls for FMenuBar 2016-06-22 00:48:33 +02:00
Markus Gans
8ffa221e5f Fixes some status bar update issues and focus problems 2016-06-19 23:18:53 +02:00
Markus Gans
7dd7455b23 Fixes some status bar update issues and focus problems 2016-06-19 20:32:03 +02:00
Markus Gans
4e447a6096 Improved status bar text updating at window change 2016-06-18 19:10:41 +02:00
Markus Gans
203c50f4e6 Bug fix in FDialog onWindowActive() for combined setFocus() and activateWindow() 2016-06-16 22:50:34 +02:00
Markus Gans
07fbe91cea Bug fix in FTerm updateVTerm() for updates from vdesktop 2016-06-16 00:39:01 +02:00
Markus Gans
28c4a61997 Improved title bar menu integration 2016-06-13 22:44:15 +02:00
Markus Gans
b576b8dcad Add a title bar menu to close dialogs 2016-06-12 23:06:58 +02:00
Markus Gans
29dfeafa87 Add some comments 2016-06-12 11:56:06 +02:00
Markus Gans
0146ae9d99 Use nl_langinfo to determine the numeric thousands separator 2016-05-24 22:30:01 +02:00
Markus Gans
6ff2fb0b32 Fix for menus in modal dialogs 2016-05-22 19:18:16 +02:00
Markus Gans
dcfd7c6246 Remove duplicate code 2016-05-16 23:36:13 +02:00
Markus Gans
8ca888b063 Don't focus menus with focusFirstChild() and focusLastChild() 2016-05-16 23:26:04 +02:00
Markus Gans
e6c4fc9882 Improve adjustSize() 2016-05-16 21:12:18 +02:00
Markus Gans
9df9eb5961 Improve adjustSize() 2016-05-16 21:11:32 +02:00
Markus Gans
d40b5f22a4 Better terminal identification 2016-05-01 22:18:54 +02:00
Markus Gans
f77c2b3ff1 Better terminal identification 2016-05-01 21:45:27 +02:00
Markus Gans
ed518a8e2d Improve 256 color terminal detection 2016-04-30 12:52:18 +02:00
Markus Gans
8244a558df The Final Cut logo 2016-04-25 21:13:12 +02:00
Markus Gans
01be1a5c37 Fix the missing typecast for SpecialCharacter in ui.cpp 2016-04-19 22:05:42 +02:00
Markus Gans
c0af243403 small shell script improvements 2016-04-02 18:35:34 +02:00
Markus Gans
9c378151a3 TODO update 2016-02-07 22:02:38 +01:00
Markus Gans
4dca45036e OSC sequence support for GNU Screen and tmux 2016-02-04 01:27:15 +01:00
Markus Gans
ffff3aa5ca Better escape sequences readability 2016-01-31 21:06:29 +01:00
Markus Gans
56e5847d41 Moving widget flags into the class fc 2016-01-24 14:53:09 +01:00
Markus Gans
e35340114b Avoid height and width underflow in adjustSize 2016-01-17 23:37:52 +01:00
Markus Gans
b21fe6a405 moving events into the class fc 2016-01-17 02:57:08 +01:00
Markus Gans
65047855e9 some code improvements 2016-01-10 10:42:55 +01:00
Markus Gans
8ba652eb07 code improvement 2016-01-10 07:08:55 +01:00
Markus Gans
df5e7e7ccf code improvement 2016-01-10 06:47:40 +01:00
Markus Gans
9bc6ec6f96 Better default color handling 2016-01-10 00:56:52 +01:00
Markus Gans
db463c686f better understandable code 2016-01-08 12:39:38 +01:00
Markus Gans
472fb1bbf3 small linker fix 2016-01-08 02:30:21 +01:00
Markus Gans
e5003ac8d1 New class FOptiAttr to control video attributes and colors 2016-01-08 02:19:38 +01:00
Markus Gans
978f14bbf8 New class FOptiAttr to control video attributes and colors 2016-01-08 01:10:32 +01:00
Markus Gans
49629a995a New class FOptiAttr to control video attributes and colors 2016-01-08 01:00:05 +01:00
Markus Gans
4a697e7c9a example program to test video attributes 2015-12-24 02:37:01 +01:00
Markus Gans
6b789b16a0 Add video attribute support for dim (half-bright) and italic 2015-12-24 02:34:30 +01:00
Markus Gans
33fbbd3bc6 activate the menu with ctrl+space 2015-12-21 18:48:38 +01:00
Markus Gans
7590d2101d Add the possibility to switch off the cursor optimization 2015-12-21 18:37:20 +01:00
Markus Gans
a1b7e34d7d Fix missing eat_newline_glitch (xn) in TeraTerm 2015-12-21 01:10:32 +01:00
Markus Gans
27d8b515f1 Some bug fixes 2015-12-20 23:27:33 +01:00
Markus Gans
54c45a6501 Version 0.2.0 2015-12-19 22:01:48 +01:00
Markus Gans
7dc30f7c70 Version 0.2.0 2015-12-19 20:51:04 +01:00
Markus Gans
16a2477b74 Add delOwnTimer() for FObject 2015-12-19 20:49:01 +01:00
Markus Gans
bf606f3f23 Close sub-menu on right and middle click 2015-12-19 20:48:08 +01:00
Markus Gans
9cc95d952b Optimize menu example 2015-12-18 21:48:27 +01:00
Markus Gans
6074c78516 More string types for FString relational operators 2015-12-18 21:47:19 +01:00
Markus Gans
0ffe405dd6 little font fix 2015-12-17 00:28:29 +01:00
Markus Gans
cc58f61480 Avoid to show menus outside of the screen 2015-12-16 23:57:14 +01:00
Markus Gans
8099c16b57 Improve sub-sub-menu handling 2015-12-12 00:50:59 +01:00
Markus Gans
700c10ef1f Newfont Bullet sign 2015-12-11 06:04:29 +01:00
Markus Gans
7207eaa0ff Add "menu" example 2015-12-08 21:05:00 +01:00
Markus Gans
ae62812335 Better handling of empty strings in FLineEdit and FButton + sub-menu example 2015-11-29 15:58:36 +01:00
Markus Gans
70dd5af0fb Small menu improvements 2015-11-25 22:10:23 +01:00
Markus Gans
692f8248e1 Improved mouse and keyboard handling in sub-menus 2015-11-24 23:40:41 +01:00
Markus Gans
53ada3664c Add sub-menu support 2015-11-22 23:54:05 +01:00
Markus Gans
d8d77f9246 .travis.yml 2015-11-22 22:26:28 +01:00
Markus Gans
9624e98d18 .travis.yml 2015-11-22 22:23:42 +01:00
Markus Gans
15ec47d306 .travis.yml 2015-11-22 22:22:28 +01:00
Markus Gans
101c9fcc74 Add sub-menu support 2015-11-22 21:41:18 +01:00
Markus Gans
4778258364 Add new classes FCheckMenuItem and FRadioMenuItem 2015-11-16 00:43:53 +01:00
Markus Gans
bfac128c3d Add new classes FCheckMenuItem and FRadioMenuItem 2015-11-15 22:31:55 +01:00
Markus Gans
0c0453eb79 Add new classes FCheckMenuItem and FRadioMenuItem 2015-11-15 19:46:33 +01:00
Markus Gans
ca60b762a7 Shows accelerator keys on the right side of the FMenu 2015-11-12 23:14:12 +01:00
Markus Gans
6fd2e7c650 Improve menu accelerator keys 2015-11-12 01:33:16 +01:00
Markus Gans
df83751be2 Improved the window focus behavior on leave the menu 2015-11-08 21:50:41 +01:00
Markus Gans
98a3a1757b Menu supports newfont 2015-11-08 02:11:55 +01:00
Markus Gans
fb8d3df421 Menu supports newfont 2015-11-08 02:01:35 +01:00
Markus Gans
b05a20943a Improved menu focus handling 2015-11-07 23:16:09 +01:00
Markus Gans
a41de9496f Menu bar navigation without menu drop down 2015-11-05 23:25:21 +01:00
Markus Gans
cf9bac4809 Improve keyboard shortcut handling in menus 2015-11-04 05:55:20 +01:00
Markus Gans
8f3fab4bf5 Improve keyboard shortcut handling in menus 2015-11-04 00:14:23 +01:00
Markus Gans
18a7d991ff First working version of an application menu 2015-11-01 22:45:23 +01:00
Markus Gans
ff8394d9f3 Support for the menu key 2015-10-29 21:11:59 +01:00
Markus Gans
60fe968ce0 Support for the menu key 2015-10-29 21:10:50 +01:00
Markus Gans
825e7fc959 Color setting improvements 2015-10-24 13:38:58 +02:00
Markus Gans
e0246d6d9e Color setting improvements 2015-10-24 00:49:56 +02:00
Markus Gans
b9fa26965a Color setting improvements 2015-10-23 23:57:00 +02:00
Markus Gans
7e961d40c3 Make cursor visibility more standards compliant 2015-10-23 00:24:20 +02:00
Markus Gans
a478bf6a2a Hidden windows are now non-clickable 2015-10-19 00:07:07 +02:00
Markus Gans
5708ac5699 Newfont characters are now printable in FLabel, FMenuBar and FMenu 2015-10-17 21:05:49 +02:00
Markus Gans
c26b84b10a Improve getXTermFont() and getXTermTitle() 2015-10-17 20:41:16 +02:00
Markus Gans
24e52e968e Improve getXTermFont() and getXTermTitle() 2015-10-17 20:39:08 +02:00
Markus Gans
56a6878f46 More faster header inline code 2015-10-17 19:40:43 +02:00
Markus Gans
4bef3e8f7b Fixed: calculator behavior for negative values in trigonometric functions 2015-10-17 05:59:09 +02:00
Markus Gans
2435e17b5d Fixed: calculator behavior for negative values in trigonometric functions 2015-10-17 05:56:02 +02:00
Markus Gans
2b3a7d3a4c Fixed: calculator behavior for negative values in trigonometric functions 2015-10-17 05:13:14 +02:00
Markus Gans
78a1c0cb85 better profiling 2015-10-15 02:37:02 +02:00
Markus Gans
62890f6ecc Reduce the number of getParent() function calls for print operations 2015-10-14 04:06:26 +02:00
Markus Gans
70f5b545a5 Better support for monochrom terminals 2015-10-11 21:56:16 +02:00
Markus Gans
a41727c4fc Improve attribute setting for bold, reverse and underline output 2015-10-11 04:09:58 +02:00
Markus Gans
eb05f1c1ed coding style 2015-10-10 04:01:22 +02:00
Markus Gans
6a92b4a956 Deactivate status bar key automatically 2015-10-10 03:14:14 +02:00
Markus Gans
a20f3e6ab5 Eliminate duplicate code 2015-10-09 01:23:49 +02:00
Markus Gans
e1067ccc22 code optimization 2015-10-07 21:32:30 +02:00
Markus Gans
aaf6eeecee code optimization 2015-10-07 02:50:30 +02:00
Markus Gans
d13dfbcb9d Refactoring FTerm::init() 2015-10-07 02:36:38 +02:00
Markus Gans
e4ec5cb8ff Improve compatibility with initialize_color + better TeraTerm support 2015-10-06 05:09:18 +02:00
Markus Gans
5f86dad265 Update README.md + FString code improvements 2015-10-05 01:01:45 +02:00
Markus Gans
a8930282c8 Update README.md 2015-10-04 20:17:00 +02:00
Markus Gans
da51dcccb3 .travis.yml 2015-10-04 19:36:09 +02:00
Markus Gans
28eef6a160 .travis.yml 2015-10-04 19:21:00 +02:00
Markus Gans
e0f87bdaf0 .travis.yml + some code improvements 2015-10-04 19:01:34 +02:00
Markus Gans
46974996c7 Some code improvements 2015-10-04 00:21:08 +02:00
Markus Gans
88f57c0e7e Some code improvements 2015-10-03 23:45:33 +02:00
Markus Gans
391c772922 Some code improvements 2015-10-03 22:41:30 +02:00
Markus Gans
8581b27085 Some code improvements 2015-10-03 22:21:36 +02:00
Markus Gans
29f615141c Some code improvements 2015-10-03 21:58:41 +02:00
Markus Gans
4b2ff8ce75 Some code improvements 2015-10-03 20:48:31 +02:00
Markus Gans
a591137f1c Some code improvements 2015-10-03 20:34:37 +02:00
Markus Gans
c00e3e3d80 Some code improvements 2015-10-03 19:41:59 +02:00
Markus Gans
5842a74a19 Some code improvements 2015-10-03 19:31:57 +02:00
Markus Gans
5260b87ca0 Some code improvements 2015-10-03 19:01:26 +02:00
Markus Gans
d10d6839a2 Some code improvements 2015-10-03 17:01:00 +02:00
Markus Gans
a640d8e91f No terminal updates until input data is pending 2015-10-03 01:45:13 +02:00
Markus Gans
976f685ae0 Some code improvements 2015-10-01 05:38:55 +02:00
Markus Gans
e3b7a32265 Merge branch 'master' of https://github.com/gansm/finalcut 2015-10-01 05:28:18 +02:00
Markus Gans
9d301213f1 Some code improvements 2015-10-01 05:26:47 +02:00
Markus Gans
07202871f1 Update README.md 2015-10-01 05:14:46 +02:00
Markus Gans
b24c349204 Some code improvements 2015-10-01 05:08:05 +02:00
Markus Gans
2ba6b0bcf7 Some code improvements 2015-10-01 04:44:26 +02:00
Markus Gans
3ca644669d Some code improvements 2015-10-01 03:48:58 +02:00
Markus Gans
fa05774a13 Some code improvements 2015-09-30 22:39:02 +02:00
Markus Gans
15379c61fe Fixed setPos in FWidget 2015-09-28 04:31:29 +02:00
Markus Gans
69e30eae49 Simplify default arguments 2015-09-27 16:45:28 +02:00
Markus Gans
2a44a415f3 Add methods getPos and setPos to FRect and FWidget 2015-09-27 16:00:13 +02:00
Markus Gans
2afa9907ac Add an inheritance diagram in every class header 2015-09-25 21:37:19 +02:00
Markus Gans
9740350abd Add macro _METHOD_CALLBACK and _FUNCTION_CALLBACK to simplify the use callback functions. The callback data pointer is now predefined with NULL as default argument. 2015-09-24 19:01:27 +02:00
Markus Gans
53a3db9980 Rename string.cpp to string-operations.cpp 2015-09-24 16:21:39 +02:00
Markus Gans
26e9f75242 Further code optimizations 2015-09-24 00:41:43 +02:00
Markus Gans
d0e4b41bbc Fixed a uninitialized value 2015-09-22 22:47:43 +02:00
Markus Gans
9f4b7348c5 Change compile order in Makefile (string.cpp at the end) 2015-09-22 22:35:34 +02:00
Markus Gans
3e03f87a6c Add the possibility to hide a virtual window 2015-09-22 22:12:31 +02:00
Markus Gans
a5197c6c64 Some code optimizations 2015-09-22 04:18:20 +02:00
Markus Gans
461882ac8e Add comments 2015-09-20 12:27:17 +02:00
Markus Gans
9050075142 Add spec file 2015-09-20 05:47:10 +02:00
Markus Gans
89f6d718f3 Some code optimizations 2015-09-20 05:44:50 +02:00
Markus Gans
fea7624124 fixed compile error on 32-bit architectures 2015-09-18 21:38:26 +02:00
Markus Gans
8c7c2fc7a2 config.h.in 2015-09-15 23:07:24 +02:00
Markus Gans
db4eafb5ec Switch to relative links 2015-09-04 01:36:35 +02:00
Markus Gans
be1071a794 readme update 2015-08-30 13:13:00 +02:00
Markus Gans
44e31bd115 readme update 2015-08-30 13:11:49 +02:00
Markus Gans
81f03182c4 .travis.yml 2015-08-22 18:58:50 +02:00
Markus Gans
fa6666f368 use now the autoconf config.h 2015-08-22 18:53:52 +02:00
Markus Gans
adfcd29ee2 add classes FMenu 2015-08-16 20:05:39 +02:00
Markus Gans
b94cbfa01a Add finalcut icon 2015-08-16 19:46:18 +02:00
Markus Gans
df6636bf60 Remove setVisibleCursor() from the FToggleButton class constructor 2015-08-11 00:11:07 +02:00
Markus Gans
292469f5b5 .travis.yml 2015-08-10 22:15:19 +02:00
Markus Gans
3cdaff6fe0 Makefile.in 2015-08-10 21:50:27 +02:00
Markus Gans
9146ed0531 Coveralls 2015-08-10 01:57:13 +02:00
Markus Gans
2c1209a6fb README.md 2015-08-10 01:52:28 +02:00
Markus Gans
bc6134e1d6 Coveralls 2015-08-10 01:45:00 +02:00
Markus Gans
6103387204 README.md 2015-08-10 01:13:23 +02:00
Markus Gans
b4ce9a1896 Makefile.in 2015-08-10 00:56:32 +02:00
Markus Gans
543e0a3194 Makefile.in 2015-08-10 00:38:57 +02:00
Markus Gans
e570893e8d Preprocessor fix for HAVE_LIBGPM 2015-08-10 00:18:36 +02:00
Markus Gans
8bc6edc018 Preprocessor fix for HAVE_LIBGPM 2015-08-10 00:16:26 +02:00
Markus Gans
1e0f42d3b6 use the return value from read 2015-08-10 00:04:25 +02:00
Markus Gans
31c9d86dba add classes FMenuBar, FMenuList and FMenuItem 2015-08-09 23:47:08 +02:00
Markus Gans
b1c8c70391 add vmenubar 2015-08-09 23:44:11 +02:00
Markus Gans
d37619b5be add vmenubar to FTerm 2015-08-09 23:39:12 +02:00
Markus Gans
07b8c161a0 Travis CI file 2015-08-09 23:26:23 +02:00
Markus Gans
b7a0dadd7b * Bug fix in FDialog (use GlobalPos to move)
* Don't check mouse click position on titlebar again while FDialog is in move
2015-08-08 23:40:32 +02:00
Markus Gans
5fd38b0496 Use correct ISO date in the ChangeLog 2015-07-27 16:59:20 +02:00
Markus Gans
44c8be0224 init() method for the FStatusKey constructor to avoid code duplication 2015-07-26 18:24:10 +02:00
Markus Gans
8c467d0f30 optic 2015-07-18 21:36:57 +02:00
Markus Gans
4ec8a3dda4 Class FLabel: Add multiple lines support 2015-07-18 21:31:26 +02:00
Markus Gans
35a50fdbd7 Class FString: More data types for the + operator 2015-07-18 21:26:27 +02:00
Markus Gans
a20a1d8b38 FSwitch member variable switch_offset_pos was not initialized in the first constructor 2015-07-18 21:14:23 +02:00
Markus Gans
4d67fc73bf Improve focusFirstChild() and focusLastChild() 2015-07-13 00:15:57 +02:00
Markus Gans
058c129742 Improve focusFirstChild() and focusLastChild() 2015-07-12 23:28:45 +02:00
Markus Gans
8b195f7783 Improve focusFirstChild() and focusLastChild() 2015-07-12 21:50:03 +02:00
Markus Gans
0485138c33 Improve focusFirstChild() and focusLastChild() 2015-07-12 21:49:30 +02:00
Markus Gans
9420e2050a Makefile update 2015-07-12 18:54:27 +02:00
Markus Gans
704640639d update README.md 2015-07-11 12:38:39 +02:00
Markus Gans
6eb864ce18 Add FSwitch the the class digramm 2015-07-11 12:33:27 +02:00
Markus Gans
58bd749463 Better contrast on 8 color terminals 2015-07-09 23:29:51 +02:00
Markus Gans
2350242db0 Makefile update 2015-07-09 02:15:12 +02:00
Markus Gans
e3983ea8a0 change inactive button foreground color for 8-color-theme 2015-07-09 02:13:47 +02:00
Markus Gans
dde6d966ce Makefile update 2015-07-07 23:16:17 +02:00
Markus Gans
554cdc3042 watch.cpp code cleanup 2015-07-07 23:15:32 +02:00
Markus Gans
ab324bb164 Class FString: typecast 2015-07-06 23:30:23 +02:00
Markus Gans
412462d2a9 Makefile.in update 2015-07-06 23:21:44 +02:00
Markus Gans
bcce95be01 Class FSwitch: Hold down the mouse button displays the switch in a different color. 2015-07-06 23:17:12 +02:00
Markus Gans
b371ad32f7 Class FSwitch: Hold down the mouse button displays the switch in a different color. 2015-07-06 23:15:34 +02:00
Markus Gans
71050832ac Bug fix disable cursor on focus FSwitch 2015-07-06 22:43:56 +02:00
Markus Gans
7844923d79 ChangeLog update 2015-07-06 12:25:16 +02:00
Markus Gans
cef8ec0916 Class FSwitch: disable cursor on focus 2015-07-06 10:50:46 +02:00
Markus Gans
91497fbb4c version 0.1.1 2015-07-04 23:35:34 +02:00
Markus Gans
450225c9c9 Makefile update 2015-07-04 23:18:40 +02:00
Markus Gans
a125118845 Add a .gitignore update 2015-07-04 23:10:52 +02:00
Markus Gans
1d8ea40500 Add a watch example to demonstrate the functionality of FSwitch 2015-07-04 23:05:28 +02:00
Markus Gans
e9548d068e Add new class FSwitch 2015-07-04 22:51:47 +02:00
Markus Gans
f282e3de3a fc::Fkey_return -> fc::Fkey_enter 2015-07-03 20:33:54 +02:00
Markus Gans
c8a024ddf4 Add a joined right-left-line character to the newfont 2015-07-02 22:27:34 +02:00
Markus Gans
796c86da6f ui example: improve progress bar object timer 2015-07-02 21:27:19 +02:00
Markus Gans
e956c3ad1f ui example: improve progress bar object timer 2015-07-02 21:21:18 +02:00
Markus Gans
5d8bbf2cd9 ui example: use the object timer for the progress bar animation 2015-07-02 01:00:30 +02:00
Markus Gans
561351cb6a Class FButton: remove one useless line 2015-07-02 00:50:32 +02:00
Markus Gans
f4f1629809 Class FButton: use the object timer for the click animation 2015-07-01 22:34:40 +02:00
Markus Gans
65626b98a2 Class FString: improve integer exception handling 2015-06-30 09:29:49 +02:00
Markus Gans
97cefa927f Class FString: improve floating point exception handling 2015-06-30 00:25:36 +02:00
Markus Gans
21e9e0d397 Class FString: improve floating point exception handling 2015-06-30 00:21:50 +02:00
Markus Gans
36d1163343 Use LC_CTYPE instead of LC_ALL in the FString() example 2015-06-28 20:39:21 +02:00
Markus Gans
e9a04bcf29 Class FString: add exception handling for toLong() and toULong() 2015-06-28 20:23:39 +02:00
Markus Gans
24091534e5 Simplify Makefile.gcc and Makefile.clang for the example programs 2015-06-28 19:32:03 +02:00
Markus Gans
d4df6b700a optic 2015-06-27 23:14:50 +02:00
Markus Gans
f9001e59de Class FString: Add toFloat(), toDouble() and setNumber(...) for floating point values 2015-06-27 23:00:12 +02:00
Markus Gans
c4fbad06ca .gitignore update 2015-06-23 00:52:13 +02:00
Markus Gans
77c6fa4eee Add fc::Fkey_erase for backspace 2015-06-22 17:03:50 +02:00
Markus Gans
c6518823c4 Improve trigonometric function zero-crossing 2015-06-22 02:01:50 +02:00
Markus Gans
e6ac1abda1 Add a simple calculator with trigonometric functions 2015-06-22 00:28:06 +02:00
Markus Gans
7d6169fb26 Add the possibility to draw double lines on overlapped flat lines for the 8x16graph font 2015-06-22 00:26:24 +02:00
Markus Gans
215f213bad Add the possibility to draw double lines on overlapped flat lines for the 8x16graph font 2015-06-21 23:27:10 +02:00
Markus Gans
f8edb82494 font name fixed: -misc-8x16graph-medium-r-normal--17-160-75-75-P-80- 2015-06-21 23:19:15 +02:00
Markus Gans
6e1392aa65 Class FButton: mouse click with unsetClickAnimation() works correctly now 2015-06-21 21:53:27 +02:00
Markus Gans
de68b4919e Add calculator preview 2015-06-20 16:56:03 +02:00
Markus Gans
5ac5bf6d31 Add the possibility to change the colors from FButton 2015-06-20 16:14:52 +02:00
Markus Gans
3d9a08dbba Add the possibility to change the colors from FButton 2015-06-19 19:53:30 +02:00
Markus Gans
749e8914c2 Add the possibility to turn off click animation on Fbutton 2015-06-15 22:04:27 +02:00
Markus Gans
e87e0ceb94 correction for the modifier letter small x 2015-06-14 19:34:34 +02:00
Markus Gans
1b3f6c9cbb Mandelbrot set screenshot 2015-06-14 13:48:35 +02:00
Markus Gans
43db541ca9 Add a FSwitch draft picture 2015-06-14 13:32:51 +02:00
Markus Gans
2d0898d6f8 Add a FSwitch draft picture 2015-06-14 13:29:44 +02:00
Markus Gans
3f88e85ed4 TODO update 2015-06-13 13:22:25 +02:00
Markus Gans
1017a220a1 Add Some mathematical signs 2015-06-12 00:00:55 +02:00
Markus Gans
83aa986646 Use class methods for with and height instead of protected class attributes. 2015-06-08 20:43:19 +02:00
Markus Gans
56fb44b8cc Makefile update 2015-06-08 20:42:17 +02:00
Markus Gans
b3ae9930f7 TODO update 2015-06-08 20:40:32 +02:00
Markus Gans
140eb6dbaf mark the implicit conversion constructors 2015-05-28 23:20:51 +02:00
Markus Gans
5ee7d1cf56 more explicit calls 2015-05-28 22:48:15 +02:00
Markus Gans
7789ee4fba Add keyword 'explicit' to some constructors 2015-05-27 02:25:13 +02:00
Markus Gans
1ebd703f05 Remove eol spaces 2015-05-26 23:15:49 +02:00
Markus Gans
d26f9134fc code finishing 2015-05-26 23:08:46 +02:00
Markus Gans
8f1e52a362 Optimize input-dialog for 80x24 terminals 2015-05-26 22:55:53 +02:00
Markus Gans
5c6a8dfc54 Add a Mandelbrot set program 2015-05-25 23:39:09 +02:00
Markus Gans
fe19574153 Correcting the filename in comment 2015-05-24 19:54:02 +02:00
Markus Gans
a2d0289857 back to the old picture 2015-05-24 19:29:10 +02:00
Markus Gans
475f1011de Add an input field example 2015-05-24 19:15:03 +02:00
Markus Gans
1d940dda14 upload 2015-05-23 13:35:12 +02:00
Markus Gans
f0c152095c add .gitignore 2015-05-23 13:30:22 +02:00
Markus Gans
f8da6b6743 * Makefile.am update
* add a assertion in FMessageBox
2015-05-20 21:27:08 +02:00
Markus Gans
3e64259fdf Add a FDialog example 2015-05-20 21:05:23 +02:00
427 changed files with 147983 additions and 135915 deletions

15
.bettercodehub.yml Normal file
View File

@ -0,0 +1,15 @@
exclude:
- /debian/.*
- /doc/.*
- /examples/.*
- /fonts/.*
- /icon/.*
- /logo/.*
- /m4/.*
- /scripts/.*
- /build.sh
- /ltmain.sh
component_depth: 3
languages:
- cpp

15
.codacy.yml Normal file
View File

@ -0,0 +1,15 @@
---
engines:
duplication:
enabled: true
exclude_paths:
- 'fonts/**'
- 'test/**'
exclude_paths:
- 'debian/**'
- 'doc/**'
- 'icon/**'
- 'logo/**'
- 'm4/**'
- 'scripts/**'

4
.codedocs Normal file
View File

@ -0,0 +1,4 @@
PROJECT_NAME = "FINAL CUT"
EXCLUDE = debian, doc, icon, logo, m4, scripts, examples
EXCLUDE_PATTERNS = */test/*

37
.editorconfig Normal file
View File

@ -0,0 +1,37 @@
# EditorConfig helps maintain consistent coding styles
# for multiple developers working on the same project
# across various editors and IDEs.
#
# http://editorconfig.org
root = true
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length=72
[ChangeLog]
trim_trailing_whitespace = false
[*.txt]
trim_trailing_whitespace = false
[*.md]
trim_trailing_whitespace = false
# Domain-Specific Properties
[*.h]
curly_bracket_next_line = true
spaces_around_operators = true
indent_brace_style = Allman
[*.cpp]
curly_bracket_next_line = true
spaces_around_operators = true
indent_brace_style = Allman

38
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,38 @@
---
name: Bug report
about: Create a bug report
title: ''
labels: bug
assignees: ''
---
## Describe the bug
Give a detailed description of what the bug is.
## How to reproduce the bug?
Explain step-by-step the procedure to reproduce this behavior.
## What behavior did you expect?
Describe what you would expect instead.
## In which environment did the bug occur?
* Which operating system do you use?<br />
Linux, FreeBSD, NetBSD, OpenBSD, macOS, Cygwin, or Solaris
* Which distribution do you use?
* On which CPU architecture did you test?
* Which compiler in which version did you use?
* Which terminal do you use?
* What does the environment variable $TERM contain?

View File

@ -0,0 +1,32 @@
---
name: Feature request
about: Make a suggestion for this project
title: ''
labels: enhancement
assignees: ''
---
## Feature Request
**Do you want to solve a problem with your feature request? Please describe it.**
Describe clearly and precisely what the problem is.
Example: I have an issue when [...]
**Your desired solution**
Describe clearly and concisely what you want to reach.
**Alternatives you have considered**
Describe clearly and concisely the other solutions you considered.
**Additional context**
Add additional context or screenshots to your feature request here.

53
.github/workflows/arm.yml vendored Normal file
View File

@ -0,0 +1,53 @@
name: "ARM build"
on:
push:
branches: [ main, actions-test ]
pull_request:
branches: [ main, actions-test ]
schedule:
- cron: '0 7 * * 2'
jobs:
build:
runs-on: ubuntu-latest
name: Build on ${{ matrix.arch }}
# Run steps on a matrix of 3 arch/distro combinations
strategy:
matrix:
include:
- arch: aarch64
- arch: armv7
steps:
- name: Repository checkout
uses: actions/checkout@v2
- name: Before_install
run: |
lsb_release -a
uname -a
whoami
tty || echo
pwd
- name: Install dependencies via apt-get
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get -y install \
ca-certificates \
gcc \
g++ \
gpm \
libgpm-dev \
libcppunit-dev \
autoconf-archive
- name: Build
run: |
autoreconf -v --install --force
./configure --prefix=/usr
make -j10

74
.github/workflows/codeql-analysis.yml vendored Normal file
View File

@ -0,0 +1,74 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
name: "CodeQL analysis"
on:
push:
branches: [main]
pull_request:
# The branches below must be a subset of the branches above
branches: [main]
schedule:
- cron: '0 7 * * 2'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# Override automatic language detection by changing the below list
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
language: ['cpp']
# Learn more...
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
- name: Build dependencies
run: sudo apt-get install autoconf-archive
- name: Create configure file
run: autoreconf -v --install --force
- name: Create makefiles
run: ./configure --prefix=/usr CPPFLAGS="-DDEBUG" CXXFLAGS="-g -O0 -DDEBUG -W -Wall -pedantic"
- name: Build
run: make V=1 -j10
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1

57
.github/workflows/coverage.yml vendored Normal file
View File

@ -0,0 +1,57 @@
name: "Code coverage"
on:
push:
branches: [ main, actions-test ]
pull_request:
branches: [ main, actions-test ]
schedule:
- cron: '0 7 * * 2'
jobs:
analyze:
runs-on: ubuntu-latest
env:
COVERALLS_REPO_TOKEN: "${{ secrets.COVERALLS_REPO_TOKEN }}"
steps:
- name: Repository checkout
uses: actions/checkout@v2
- name: Before_install
run: |
lsb_release -a
uname -a
whoami
tty || echo
pwd
- name: Install dependencies via apt-get
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get -y install \
ca-certificates \
gcc \
g++ \
gpm \
libgpm-dev \
libcppunit-dev \
autoconf-archive
- name: Download coderalls
run: pip install --user cpp-coveralls
- name: Download codecov
run: sudo pip install codecov
- name: Build with with gcov
run: script -e -c "./build.sh coverage"
- name: Coveralls
run: coveralls --gcov-options '\-lp' -e debian -e doc -e icon -e logo -e m4 -e scripts -e examples
- name: Codecov
run: bash <(curl -s https://codecov.io/bash)

86
.github/workflows/coverity-scan.yml vendored Normal file
View File

@ -0,0 +1,86 @@
name: "Coverity Scan"
on:
push:
branches: [ main, actions-test ]
pull_request:
branches: [ main, actions-test ]
schedule:
- cron: '0 7 * * 2'
jobs:
analyze:
# Ubuntu 16.04 LTS will be removed on September 20, 2021
runs-on: ubuntu-16.04
#runs-on: ubuntu-18.04
env:
COVERITY_SCAN_BRANCH_PATTERN: "${{ github.ref}}"
COVERITY_SCAN_NOTIFICATION_EMAIL: "guru.mail@muenster.de"
COVERITY_SCAN_PROJECT_NAME: "${{ github.repository }}"
# Set in repo settings -> secrets -> repository secrets
COVERITY_SCAN_TOKEN: "${{ secrets.COVERITY_SCAN_TOKEN }}"
CURRENT_REF: "${{ github.ref }}"
steps:
- name: Repository checkout
uses: actions/checkout@v2
- name: Before_install
run: |
lsb_release -a
uname -a
whoami
tty || echo
pwd
- name: Download coverity scan build tool
run: |
wget -q https://scan.coverity.com/download/cxx/linux64 \
--post-data "token=$COVERITY_SCAN_TOKEN&project=gansm%2Ffinalcut" \
-O cov-analysis-linux64.tar.gz
mkdir cov-analysis-linux64
tar xzf cov-analysis-linux64.tar.gz --strip 1 -C cov-analysis-linux64
- name: Install dependencies via apt-get
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get -y install \
ca-certificates \
gcc \
g++ \
gpm \
libgpm-dev \
libcppunit-dev \
autoconf-archive
- name: Build with cov-build
run: |
export PATH=`pwd`/cov-analysis-linux64/bin:$PATH
cat cov-int/scm_log.txt || echo
autoreconf -v --install --force
./configure --prefix=/usr \
CPPFLAGS="-DDEBUG" \
CXXFLAGS="-g -O0 -DDEBUG -DUNIT_TEST" \
--with-unit-test
cov-build --dir cov-int make V=1 -j10
- name: Submit the result to Coverity Scan
run: |
tar czvf finalcut.tgz cov-int
curl \
--form token=$COVERITY_SCAN_TOKEN \
--form email=$COVERITY_SCAN_NOTIFICATION_EMAIL \
--form file=@finalcut.tgz \
--form version="main" \
--form description="Build submitted via github action" \
https://scan.coverity.com/builds?project=gansm%2Ffinalcut
- name: Make unit test
run: |
script -e -c "make check" && RET=$? || RET=$?
cat test/*.log || echo
echo "Exit status: $RET"
exit "$RET"

45
.github/workflows/cygwin.yml vendored Normal file
View File

@ -0,0 +1,45 @@
name: "Cygwin build"
on:
push:
branches: [ main, actions-test ]
pull_request:
branches: [ main, actions-test ]
schedule:
- cron: '0 7 * * 2'
jobs:
build:
runs-on: windows-latest
name: Build on ${{ matrix.platform }}
strategy:
matrix:
platform: [x86, x64]
steps:
- name: Install Cygwin
uses: egor-tensin/setup-cygwin@v3
with:
platform: ${{ matrix.platform }}
install-dir: C:\cygwin
packages: git grep make libncurses-devel gcc-core gcc-g++ automake autoconf autoconf-archive libtool pkgconf cppunit
- name: Test on Cygwin environment
run: |
uname -a
whoami
pwd
cygcheck -c -d # Show installed Cygwin packages
g++ --version
mkdir src && cd src
git clone git://github.com/gansm/finalcut.git
cd finalcut || echo "The source code directory was not found!"
autoreconf --force --install --verbose --warnings=all
automake --add-missing --copy
./configure --prefix=/usr
make -j10
shell: C:\cygwin\bin\bash.exe --login '{0}'
env:
SHELLOPTS: igncr

36
.github/workflows/freebsd.yml vendored Normal file
View File

@ -0,0 +1,36 @@
name: "FreeBSD build"
on:
push:
branches: [ main, actions-test ]
pull_request:
branches: [ main, actions-test ]
schedule:
- cron: '0 7 * * 2'
jobs:
build:
runs-on: macos-10.15
steps:
- name: Repository checkout
uses: actions/checkout@v2
- name: Test on FreeBSD 12.2
uses: cross-platform-actions/action@v0.0.1
with:
operating_system: freebsd
version: 12.2
shell: bash
run: |
uname -a
freebsd-version
whoami
pwd
sudo pkg update
sudo pkg install -y lang/gcc devel/autotools autotools automake autoconf autoconf-archive libtool pkgconf devel/ncurses devel/cppunit cppunit
g++ --version
autoreconf -v --install --force
./configure --prefix=/usr
make -j10

37
.github/workflows/macos.yml vendored Normal file
View File

@ -0,0 +1,37 @@
name: "macOS build"
on:
push:
branches: [ main, actions-test ]
pull_request:
branches: [ main, actions-test ]
schedule:
- cron: '0 7 * * 2'
jobs:
build:
runs-on: macos-latest
steps:
- name: Repository checkout
uses: actions/checkout@v2
- name: Before_install
run: |
uname -a
g++ --version
whoami
pwd
- name: Install dependencies via homebrew
run: |
brew update
brew install automake
brew install autoconf-archive
- name: Build
run: |
autoreconf -v --install --force
./configure --prefix=/usr
make -j10

38
.github/workflows/openbsd.yml vendored Normal file
View File

@ -0,0 +1,38 @@
name: "OpenBSD build"
on:
push:
branches: [ main, actions-test ]
pull_request:
branches: [ main, actions-test ]
schedule:
- cron: '0 7 * * 2'
jobs:
build:
runs-on: macos-10.15
steps:
- name: Repository checkout
uses: actions/checkout@v2
- name: Test on OpenBSD 6.8
uses: cross-platform-actions/action@v0.0.1
with:
operating_system: openbsd
version: 6.8
shell: bash
run: |
uname -a
whoami
pwd
# http://ftp.openbsd.org/pub/OpenBSD/6.8/packages/amd64/
sudo pkg_add gcc-8.4.0 g++-8.4.0 automake-1.16.2 autoconf-2.69p3 autoconf-archive libtool pkgconf cppunit
export CXX=eg++
export AUTOCONF_VERSION=2.69
export AUTOMAKE_VERSION=1.16
eg++ --version
autoreconf -v --install --force
./configure --prefix=/usr
make -j10

33
.github/workflows/solaris.yml vendored Normal file
View File

@ -0,0 +1,33 @@
name: "Solaris build"
on:
push:
branches: [ main, actions-test ]
pull_request:
branches: [ main, actions-test ]
schedule:
- cron: '0 7 * * 2'
jobs:
build:
runs-on: macos-latest
steps:
- name: Repository checkout
uses: actions/checkout@v2
- name: Test on Solaris 11.4
uses: vmactions/solaris-vm@v0.0.3
with:
prepare: pkgutil -y -i gcc5g++ automake autoconf autoconf_archive libtool pkgconfig libcppunit1_12_1 libcppunit_dev
run: |
uname -a
whoami
pwd
cat /etc/release
PATH=/opt/csw/bin:$PATH
export PATH
autoreconf -v --install --force
./configure --prefix=/usr
make

61
.github/workflows/sonarcloud.yml vendored Normal file
View File

@ -0,0 +1,61 @@
name: "SonarCloud analysis"
on:
push:
branches: [ main, actions-test ]
pull_request:
branches: [ main, actions-test ]
schedule:
- cron: '0 7 * * 2'
jobs:
build:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
SONAR_TOKEN: "${{ secrets.SONAR_TOKEN }}"
steps:
- name: Repository checkout
uses: actions/checkout@v2
with:
fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis
- name: Before_install
run: |
lsb_release -a
uname -a
whoami
tty || echo
pwd
- name: Install dependencies via apt-get
run: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get -y install \
ca-certificates \
gcc \
g++ \
gpm \
wget \
unzip \
libgpm-dev \
libcppunit-dev \
autoconf-archive
- name: Build with SonarCloud
run: |
wget -q "https://sonarcloud.io/static/cpp/build-wrapper-linux-x86.zip"
unzip -q "build-wrapper-linux-x86.zip" -d "/tmp" || echo
LATEST_VERSION=$(wget -O- https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/ 2>/dev/null | grep 'linux.zip"' | cut -d\" -f2 | tail -n1)
wget -q "https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/$LATEST_VERSION"
unzip -q "$LATEST_VERSION" -d "/tmp" || echo
echo "sonar.host.url=https://sonarcloud.io" >> /tmp/sonar-scanner-*/conf/sonar-scanner.properties
mkdir /tmp/sonar-cache
autoreconf -v --install --force
./configure --prefix=/usr
/tmp/build-wrapper-linux-x86/build-wrapper-linux-x86-64 --out-dir bw-output make all
/tmp/sonar-scanner-4.6.2.2472-linux/bin/sonar-scanner

71
.gitignore vendored Normal file
View File

@ -0,0 +1,71 @@
*.o
*.so
*.lo
*.lai
*.la
*.a
*.lib
*.gcov
*.gcno
*.gcda
*.log
*.trs
Makefile
Makefile.in
/_configs.sed
/aclocal.m4
/autom4te.cache
/config.guess
/config.h*
/config.log
/config.lt
/config.status
/config.sub
/configure
/compile
/depcomp
/finalcut.pc
/finalcut.spec
/install-sh
/libtool
/ltmain.sh
/missing
/stamp-h1
/test-driver
src/.depend
src/.deps/
src/.libs/
examples/.deps/
examples/.libs/
examples/calculator
examples/dialog
examples/busy
examples/event-log
examples/string-operations
examples/background-color
examples/opti-move
examples/termcap
examples/hello
examples/watch
examples/menu
examples/scrollview
examples/windows
examples/term-attributes
examples/transparent
examples/input-dialog
examples/fullwidth-character
examples/7segment
examples/choice
examples/listbox
examples/listview
examples/checklist
examples/treeview
examples/mandelbrot
examples/rotozoomer
examples/keyboard
examples/mouse
examples/timer
examples/ui
test/.deps/
test/.libs/
test/*_test

13
.lgtm.yml Normal file
View File

@ -0,0 +1,13 @@
extraction:
cpp:
prepare:
packages:
- autoconf-archive
configure:
command:
- autoreconf -v --install --force
- ./configure --prefix=/usr CPPFLAGS="-DDEBUG" CXXFLAGS="-g -O0 -DDEBUG -W -Wall -pedantic"
index:
build_command:
- make V=1 -j10

11
CODE_OF_CONDUCT.md Normal file
View File

@ -0,0 +1,11 @@
# Code of Conduct
The FINAL CUT Project aims to be a welcoming place and we ask that everyone
who interacts with the project and the larger community treat each other
with dignity and respect. Individuals who do not behave in this manner will
be warned and asked to adjust their behavior; in extreme cases, individuals
could get excluded from the project.
Examples of inappropriate behavior include profane, offensive, or
prejudicial language directed at another person, vandalism, or spam.

View File

@ -672,4 +672,3 @@ may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

165
COPYING.LESSER Normal file
View File

@ -0,0 +1,165 @@
GNU LESSER 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.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser 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
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

1889
ChangeLog

File diff suppressed because it is too large Load Diff

103
Contributing.md Normal file
View File

@ -0,0 +1,103 @@
# Contributing
Thank you for your interest in FINAL CUT!
We welcome contributions of all kinds, including patches to code and
documentation, bug reports, or just neat feedback. If you ever think that
something could be better or different, please give us feedback on it. Do
you have problems with FINAL CUT, or are you looking for support in using
the library in your project? Feel free to open a new issue if there is not
already one on your topic. If you have problems with an application that
uses FINAL CUT and have no idea of the cause, please contact the author
first.
Github hosts the source code of FINAL CUT. You can make a local copy from
the repository using git clone:
```bash
> git clone git://github.com/gansm/finalcut.git
```
## Submitting patches
The FINAL CUT project accepts both
[GitHub pull requests](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request)
and patches that reach me via other channels. GitHub pull requests are
preferred. Please follow our [coding style](doc/coding-style.txt) standard.
### Explain your work
When submitting a patch, you should include a description of the problem
you are trying to solve, how you solved it, and why you chose the solution
you implemented. When you submit a bug fix, it is often helpful to include
a reproducible description for the problem in your explanation. Important
would be instructions on how to test the error and verify its elimination.
### Test your code
Run the FINAL CUT unit tests if you have installed
[CppUnit](https://freedesktop.org/wiki/Software/cppunit/).
Proceed as follows:
The easy way
```bash
> make distclean
> ./build.sh unit-test
```
or
```bash
> make distclean
> ./configure --prefix=/usr CXXFLAGS="-g -O0 -DDEBUG -DUNIT_TEST" --with-unit-test
> make test
```
If you have created uncovered code, I would be very grateful for
complementary test code in the existing unit tests.
## Issue Tracking
We currently use the
[issue tracker on Github](https://github.com/gansm/finalcut/issues).
## How to help
### What FINAL CUT needs
* We want your feedback, your opinion, your advice, and to hear what you
think!
* Help make FINAL CUT better known. Tell others about this project. A large
user base also means a better and more stable codebase.
* Help maintain and improve the library.
* Write unit tests for untested code.
### What would be helpful
* **Improve documentation:** <br />
Fix typos or grammar mistakes. Revise sections that need improvement or
add missing sections.
* **Translations into other languages:** <br />
For many people, reading the documentary in their native language will
certainly make getting started with FINAL CUT much easier and more
attractive.
* **Better tests:** <br />
High code coverage gives us a stable base that prevents breaking code due
to a small patch.
* **Publication in repositories:** <br />
Advocate for the inclusion of FINAL CUT in your preferred distribution.
* **Support for other platforms:** <br />
There are still platforms on which FINAL CUT is not yet executable.
* **Do you like to help other people?** <br />
Answer questions in open issues or help moderate discussion forums or
other communication channels.
Please help us make the FINAL CUT widget toolkit the best library for
text-based user interfaces.

675
LICENSE
View File

@ -1,675 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
{project} Copyright (C) {year} {fullname}
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

View File

@ -1,11 +1,25 @@
#----------------------------------------------------------------------
# Makefile.am - the Final Cut library
# Makefile.am - FINAL CUT terminal programming library
#----------------------------------------------------------------------
AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = src doc test
EXTRA_DIST = finalcut.pc
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = finalcut.pc
CLEANFILES = finalcut.pc
SUBDIRS = src fonts doc examples test
docdir = ${datadir}/doc/${PACKAGE}
doc_DATA = AUTHORS COPYING COPYING.LESSER ChangeLog
test: check
uninstall-hook:
if test -d ${docdir}; then rmdir ${docdir}; fi
doc_DATA = AUTHORS COPYING ChangeLog

View File

@ -1,839 +0,0 @@
# Makefile.in generated by automake 1.13.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
#----------------------------------------------------------------------
# Makefile.am - the Final Cut library
#----------------------------------------------------------------------
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = .
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
$(top_srcdir)/configure $(am__configure_deps) AUTHORS COPYING \
ChangeLog config.guess config.sub depcomp install-sh missing \
ltmain.sh
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
install-exec-recursive install-html-recursive \
install-info-recursive install-pdf-recursive \
install-ps-recursive install-recursive installcheck-recursive \
installdirs-recursive pdf-recursive ps-recursive \
tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(docdir)"
DATA = $(doc_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
$(RECURSIVE_TARGETS) \
$(RECURSIVE_CLEAN_TARGETS) \
$(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates. Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
BEGIN { nonempty = 0; } \
{ items[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique. This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
list='$(am__tagged_files)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
if test -d "$(distdir)"; then \
find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -rf "$(distdir)" \
|| { sleep 5 && rm -rf "$(distdir)"; }; \
else :; fi
am__post_remove_distdir = $(am__remove_distdir)
am__relativize = \
dir0=`pwd`; \
sed_first='s,^\([^/]*\)/.*$$,\1,'; \
sed_rest='s,^[^/]*/*,,'; \
sed_last='s,^.*/\([^/]*\)$$,\1,'; \
sed_butlast='s,/*[^/]*$$,,'; \
while test -n "$$dir1"; do \
first=`echo "$$dir1" | sed -e "$$sed_first"`; \
if test "$$first" != "."; then \
if test "$$first" = ".."; then \
dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
else \
first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
if test "$$first2" = "$$first"; then \
dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
else \
dir2="../$$dir2"; \
fi; \
dir0="$$dir0"/"$$first"; \
fi; \
fi; \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \
reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
DIST_TARGETS = dist-gzip
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SO_VERSION = @SO_VERSION@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = foreign
ACLOCAL_AMFLAGS = -I m4
SUBDIRS = src doc test
doc_DATA = AUTHORS COPYING ChangeLog
all: all-recursive
.SUFFIXES:
am--refresh: Makefile
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
$(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: $(am__configure_deps)
$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool config.lt
install-docDATA: $(doc_DATA)
@$(NORMAL_INSTALL)
@list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
done
uninstall-docDATA:
@$(NORMAL_UNINSTALL)
@list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
@fail=; \
if $(am__make_keepgoing); then \
failcom='fail=yes'; \
else \
failcom='exit 1'; \
fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
ID: $(am__tagged_files)
$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-recursive
TAGS: tags
tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
$(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
if test $$# -gt 0; then \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
"$$@" $$unique; \
else \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$unique; \
fi; \
fi
ctags: ctags-recursive
CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
$(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
-rm -f cscope.files
cscope.files: clean-cscope cscopelist
cscopelist: cscopelist-recursive
cscopelist-am: $(am__tagged_files)
list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
esac; \
for i in $$list; do \
if test -f "$$i"; then \
echo "$(subdir)/$$i"; \
else \
echo "$$sdir/$$i"; \
fi; \
done >> $(top_builddir)/cscope.files
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
distdir: $(DISTFILES)
$(am__remove_distdir)
test -d "$(distdir)" || mkdir "$(distdir)"
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
$(am__make_dryrun) \
|| test -d "$(distdir)/$$subdir" \
|| $(MKDIR_P) "$(distdir)/$$subdir" \
|| exit 1; \
dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
$(am__relativize); \
new_distdir=$$reldir; \
dir1=$$subdir; dir2="$(top_distdir)"; \
$(am__relativize); \
new_top_distdir=$$reldir; \
echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
($(am__cd) $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$new_top_distdir" \
distdir="$$new_distdir" \
am__remove_distdir=: \
am__skip_length_check=: \
am__skip_mode_fix=: \
distdir) \
|| exit 1; \
fi; \
done
-test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__post_remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__post_remove_distdir)
dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir)
dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__post_remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__post_remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__post_remove_distdir)
dist dist-all:
$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
$(am__post_remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lz*) \
lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
*.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir)
chmod u+w $(distdir)
mkdir $(distdir)/_build $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& am__cwd=`pwd` \
&& $(am__cd) $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(AM_DISTCHECK_CONFIGURE_FLAGS) \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
&& cd "$$am__cwd" \
|| exit 1
$(am__post_remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
@test -n '$(distuninstallcheck_dir)' || { \
echo 'ERROR: trying to run $@ with an empty' \
'$$(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
$(am__cd) '$(distuninstallcheck_dir)' || { \
echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
exit 1; \
}; \
test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(docdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
html-am:
info: info-recursive
info-am:
install-data-am: install-docDATA
install-dvi: install-dvi-recursive
install-dvi-am:
install-exec-am:
install-html: install-html-recursive
install-html-am:
install-info: install-info-recursive
install-info-am:
install-man:
install-pdf: install-pdf-recursive
install-pdf-am:
install-ps: install-ps-recursive
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-docDATA
.MAKE: $(am__recursive_targets) install-am install-strip
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-am clean clean-cscope clean-generic \
clean-libtool cscope cscopelist-am ctags ctags-am dist \
dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
dist-xz dist-zip distcheck distclean distclean-generic \
distclean-libtool distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-docDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
uninstall-am uninstall-docDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

402
README.md
View File

@ -1,163 +1,269 @@
The Final Cut
=============
The Final Cut is a programming library and widget toolkit that creates a text-based user interface with full mouse support. It supports the controlled handling of multiple simultaneous windows.
The C++ class design is inspired by the Qt framework. It offers common user interface elements like dialog windows, push buttons, check boxes, radio buttons, input lines, list boxes, status bars and so on.
![FINAL CUT](logo/svg/finalcut-logo.svg)
![](https://github.com/gansm/finalcut/blob/master/doc/fileopen-dialog.png)
# Library for creating terminal applications with text-based widgets
![](https://github.com/gansm/finalcut/blob/master/doc/progress-bar.png)
FINAL CUT is a C++ class library and widget toolkit with full [mouse](doc/mouse-control.md#title-bar-actions-on-mouse-clicks) support for creating a [text-based user interface](https://en.wikipedia.org/wiki/Text-based_user_interface). The library supports the programmer to develop an application for the text console. It allows the simultaneous handling of multiple text windows on the screen.
![](https://github.com/gansm/finalcut/blob/master/doc/textview.png)
The structure of the Qt framework was originally the inspiration for the C++ class design of FINAL CUT. It provides common controls like dialog boxes, push buttons, check boxes, radio buttons, input lines, list boxes, status bars and so on.
## Building and code analysis
newfont
-------
A new text font for X11 and the Linux console.
![](https://github.com/gansm/finalcut/blob/master/doc/newfont1.png)
| | Badge |
|-------------------:|:------|
| *Latest release* | [![Latest Release](https://img.shields.io/github/release/gansm/finalcut.svg)](https://github.com/gansm/finalcut/releases) |
| *License* | [![license](https://img.shields.io/github/license/gansm/finalcut.svg?colorA=#333)](COPYING) |
| *Class Reference* | [![documented](https://codedocs.xyz/gansm/finalcut.svg)](https://codedocs.xyz/gansm/finalcut/hierarchy.html) |
| *Travis CI* | [![Build Status](https://travis-ci.com/gansm/finalcut.svg?branch=main)](https://travis-ci.com/gansm/finalcut)
| *Coverity Scan* | [![Coverity Scan Status](https://img.shields.io/coverity/scan/6508.svg)](https://scan.coverity.com/projects/6508 )|
| *LGTM* | [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/gansm/finalcut.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/gansm/finalcut/context:cpp) |
| *SonarCloud* | [![Quality gate](https://sonarcloud.io/api/project_badges/measure?project=gansm_finalcut&metric=alert_status)](https://sonarcloud.io/dashboard?id=gansm_finalcut) |
| *CodeFactor* | [![CodeFactor](https://www.codefactor.io/repository/github/gansm/finalcut/badge)](https://www.codefactor.io/repository/github/gansm/finalcut) |
![](https://github.com/gansm/finalcut/blob/master/doc/newfont2.png)
## Installation
```bash
> git clone git://github.com/gansm/finalcut.git
> cd finalcut
> autoreconf --install --force
> ./configure --prefix=/usr
> make
> su -c "make install"
```
Virtual terminal
----------------
It uses a virtual terminal to print the character via an update method on the screen.
The virtual windows are an overlying layer to realizing window movements.
The update method transmits only the changes to the virtual terminal or the screen.
## Supported platforms
* Linux
* FreeBSD
* NetBSD
* OpenBSD
* macOS
* Cygwin
* Solaris
## First steps
See the [first steps](doc/first-steps.md#first-steps-with-the-final-cut-widget-toolkit) documentation for information on how to use the library.
## Some screenshots
The FFileDialog widget with incremental file name search:
![FFileDialog](doc/fileopen-dialog.png)
The FINAL CUT FProgressbar widget:
![FProgressbar](doc/progress-bar.png)
Scrollable text in the FTextView widget:
![FTextView](doc/textview.png)
The Mandelbrot set example:
![Mandelbrot set](doc/Mandelbrot.png)
## newfont
A [graphical text font](fonts/) for X11 and the Linux console.
![ui example in newfont mode](doc/newfont1.png)
Newfont drive symbols:
![drive symbols](doc/newfont2.png)
The calculator example in newfont mode:
![calculator](doc/calculator.png)
## Benchmark
Here you can find a test for [measuring the character speed](doc/benchmark.md#benchmark) in the terminal.
## Virtual terminal
FINAL CUT uses a virtual terminal to print character via an update method on the screen. It provides (as an overlying layer) virtual windows for the realization of window movements. The update methods only transfer differences to the virtual terminal or physical screen.
<pre style="line-height: 1 !important;">
print(...)
printf(...)
│ ╔═════════════════════════[ vterm ]═════════════════════════╗
│ ║createVTerm() ║
│ ║ ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ ║
│ ║ ║
│ ║ │ restoreVTerm(x,y,w,h) │ ║
│ ║ ║
│ ║ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ ║
│ ║ ║
│ ┌───────╨─────[ vwin ]─────────────┐ ║
│ │createArea(area) │ ║
│ │ │ ║
│ │ │ ║
└───┼─────────────► ──────► updateVTerm(area) ────► ║
│ │ ║
│ putArea(x,y,area) ║
│ ────────────────────► ║
│ getArea(x,y,area) ║
│ ◄──────────────────── ║
│ │ ║
│ │ ║
│ resizeArea(area)│ ║
└───────╥──────────────────────────┘ ║
║ ║
║ ║
║ ║
║ │ resizeVTerm()║
╚═══▼═══════════════════════════════════════════════════════╝
│ putVTerm() ┌───────────────┐
└───────────────────►│ output_buffer │
updateTerminal() └───────┬───────┘
│ flush_out()
│ +
│ Fputchar(char)
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▌ ▐
▌ screen ▐
▌ ───────────── ▐
▌ real terminal ▐
▌ ▐
▀▀▀▀▀▀▀███▀▀▀▀▀▀▀
███
▀▀▀▀▀▀▀▀▀
</pre>
Class digramm
-------------
<pre style="line-height: 1 !important;">
┌───────────┐
┌────┤ FKeyEvent │
│ └───────────┘
│ ┌─────────────┐
├────┤ FMouseEvent │
│ └─────────────┘
│ ┌─────────────┐
├────┤ FWheelEvent │
│ └─────────────┘
│ ┌─────────────┐
├────┤ FFocusEvent │
│ └─────────────┘
│ ┌─────────────┐
┌────────┐ ├────┤ FAccelEvent │
│ FEvent │◄─┤ └─────────────┘
└────┬───┘ │ ┌──────────────┐
│1 ├────┤ FResizeEvent │
│ │ └──────────────┘
│ │ ┌────────────┐
│ ├────┤ FShowEvent │
│ │ └────────────┘
│ │ ┌────────────┐
│ ├────┤ FHideEvent │
│ │ └────────────┘
│ │ ┌─────────────┐
│ ├────┤ FCloseEvent │
│ │ └─────────────┘
│ │ ┌─────────────┐
│ └────┤ FTimerEvent │
│ └─────────────┘
│ ╔════════════════════════[ vterm ]════════════════════════╗
│ ║createVTerm() ║
│ ║ ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ ║
│ ║ ║
│ ║ │ restoreVTerm(x,y,w,h) │ ║
│ ┌───────╨────[ vwin ]────────────┐ ║
│ │createArea(area) │ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ ║
│ │ │ ║
│ │ │ ║
└──┼────────► putArea(area) ────► ║
│ │ ║
│ putArea(x,y,area) ────► ║
│ │ ║
│ ◄──── getArea(x,y,area) ║
│ │ ║
│ │ ║
│ │ ║
│ resizeArea(area)│ ║
└───────╥────────────────────────┘ ║
║ ║
║ │ resizeVTerm()║
╚═══════▼═════════════════════════════════════════════════╝
│ ┌──────────────┐
│ ┌────┤ FApplication │
│ │ └──────────────┘
│ │ ┌─────────┐1
│ ├────┤ FButton ├-----------------------------.
│ │ └─────────┘ │
│ │ ┌────────┐1 │
│ ├────┤ FLabel ├------------------------------┤
│ │ └────────┘ │
│ │ ┌───────────┐1 │
│ ├────┤ FLineEdit ├---------------------------┤
│ │ └───────────┘ ┌──────────────┐1 │
│ │ ┌───────────────┐ ┌──┤ FRadioButton ├--┤
│1 ├────┤ FToggleButton │◄─┤ └──────────────┘ │
┌─────────┐ ┌─────┴───┐ │ └───────────────┘ │ ┌───────────┐1 │
│ FObject │◄─┬┤ FWidget │◄─┤ ┌──────────────┐ └──┤ FCheckBox ├-----┤
└─────────┘ │└───┬─┬───┘ ├────┤ FButtonGroup │ └───────────┘ │
│ │1│1 │ └──────────────┘ │
┌───────┐ │ │ │ │ ┌──────────────┐ │
│ FTerm │◄─┘ │ │ ├────┤ FProgressbar │ │ *┌─────────┐
└──┬─┬──┘ │ │ │ └──────────────┘ ├---┤ FString │
│1│1 │ │ │ ┌────────────┐ │ └─────────┘
│ └----------┤ │ ├────┤ FScrollbar │ │
│* │ │ │ └────────────┘ │
┌────┴──────┐ │ │ │ ┌───────────┐1 │
│ FOptiMove │ │ │ ├────┤ FTextView ├---------------------------┤
└───────────┘ │ │ │ └───────────┘ │
│ │ │ ┌──────────┐1 *┌──────────────┐1 │
│ │ ├────┤ FListBox ├-------┤ FListBoxItem ├-----┤
│ │ │ └──────────┘ └──────────────┘ │
│ │ │ ┌────────────┐1 *┌────────────┐1 │
│ │ ├────┤ FStatusBar ├-----┤ FStatusKey ├-------┤
│ │ │ └────┬───────┘ └────────────┘ │
│ │ │ 1└----------------------------------┤
│ │ │ ┌─────────────┐1 │
│ │ ┌───┴─────┐ ┌─────────┐ ┌──┤ FFileDialog ├----┤
│ │ │ FWindow │◄─┤ FDialog │◄──┤ └─────────────┘ │
│ │ └─────────┘ └────┬────┘ │ ┌─────────────┐1 │
│ │ │ └──┤ FMessageBox ├----┤
│ │ │ └─────────────┘ │
│ │ 1└------------------------------┤
│ │ │
│ └---------------------------------------------------'
│ *┌────────┐
├---┤ FPoint │
│ └────────┘
│ *┌───────┐
└---┤ FRect │
└───────┘
│ putVTerm()
└──────────────────► updateTerminalLine(y)
updateTerminal() │
┌───────────────┐
│ output_buffer │
└───────────────┘
│ flushOutputBuffer()
│ and putchar(char)
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▌ ▐
▌ screen ▐
▌ ───────────── ▐
▌ real terminal ▐
▌ ▐
▀▀▀▀▀▀▀███▀▀▀▀▀▀▀
███
▀▀▀▀▀▀▀▀▀
</pre>
## Class digramm
<pre style="line-height: 1 !important;">
1┌────────────┐
┌-----------┤ FTermLinux │
: └────────────┘
: 1┌──────────────┐
┌-----------┤ FTermFreeBSD │
: └──────────────┘
: 1┌──────────────┐
┌-----------┤ FTermOpenBSD │
: └──────────────┘
: 1┌────────────────┐ ┌───────────┐
┌-----------┤ FTermDetection │ ┌────┤ FKeyEvent │
: └────────────────┘ │ └───────────┘
: 1┌────────────────┐ │ ┌─────────────┐
┌-----------┤ FTermcapQuirks │ ├────┤ FMouseEvent │
: └────────────────┘ │ └─────────────┘
: 1┌────────────────┐ │ ┌─────────────┐
┌-----------┤ FTermXTerminal │ ├────┤ FWheelEvent │
: └────────────────┘ │ └─────────────┘
: 1┌──────────┐ │ ┌─────────────┐
┌-----------┤ FTermcap │ ├────┤ FFocusEvent │
: └──────────┘ │ └─────────────┘
: 1┌──────────┐ │ ┌─────────────┐
┌-----------┤ FTermios │ ├────┤ FAccelEvent │
: └──────────┘ │ └─────────────┘
: 1┌───────────────┐ │ ┌──────────────┐
┌-----------┤ FColorPalette │ ├────┤ FResizeEvent │
: └───────────────┘ │ └──────────────┘
: 1┌───────────┐ │ ┌────────────┐
┌-----------┤ FOptiMove │ ├────┤ FShowEvent │
: └───────────┘ │ └────────────┘
: 1┌───────────┐ │ ┌────────────┐
┌-----------┤ FOptiAttr │ ├────┤ FHideEvent │
: └───────────┘ │ └────────────┘
: 1┌───────────┐ │ ┌─────────────┐
┌-----------┤ FKeyboard │ ├────┤ FCloseEvent │
: └───────────┘ │ └─────────────┘
: 1┌───────────────┐ │ ┌─────────────┐
┌-----------┤ FMouseControl │ ├────┤ FTimerEvent │
: └───────────────┘ │ └─────────────┘
: 1┌─────────┐ │ ┌────────────┐1 1┌───────┐
┌-----------┤ FSystem │ ├────┤ FUserEvent ├------┤ FData │
: └─────────┘ │ └────────────┘ └───────┘
: *┌─────────┐ │ ┌──────┐ ┌─────────┐
: ┌--------┤ FString │ │ │ FLog │◄──┤ FLogger │
: : └─────────┘ │ └──┬───┘ └─────────┘
: : *┌───────────────┐ │ :1
: ┌--------┤ FStringStream │ │ ┌──┴───────────┐
: : └───────────────┘ │ ┌────┤ FApplication │
: : *┌────────┐ │ │ └──────────────┘
: ┌--------┤ FPoint │ │ │ ┌────────┐
: : └────────┘ │ ├────┤ FLabel │
: : *┌───────┐ │ │ └────────┘
: ┌--------┤ FRect │ │ │ ┌───────────┐
: : └───────┘ │ ├────┤ FLineEdit │
: : *┌───────┐ │ │ └───────────┘
: ┌--------┤ FSize │ │ │ ┌──────────┐
: : └───────┘ │ ├────┤ FSpinBox │
:1 :1 │ │ └──────────┘
┌─┴──┴──┐ │ │ ┌─────────┐
│ FTerm │ │ ├────┤ FButton │
└───┬───┘ ┌────────┐ │ │ └─────────┘
:1 │ FEvent │◄─────┘ │ ┌──────────────┐ ┌──────────────┐
┌───┴────┐ └────┬───┘ ├────┤ FButtonGroup │ ┌──┤ FRadioButton │
│ FVTerm │◄──┐ :1 │ └──────────────┘ │ └──────────────┘
└────────┘ │ ┌────┴────┐ │ ┌───────────────┐ │ ┌───────────┐
├────┤ FWidget │◄───────┼────┤ FToggleButton │◄─┼──┤ FCheckBox │
┌─────────┐ │ └────┬────┘ │ └───────────────┘ │ └───────────┘
│ FObject │◄──┘ :1 │ ┌──────────────┐ │ ┌─────────┐
└─────────┘ ┌──────┴────────┐ ├────┤ FProgressbar │ └──┤ FSwitch │
│ FWidgetColors │ │ └──────────────┘ └─────────┘
└───────────────┘ │ ┌────────────┐
├────┤ FScrollbar │
│ └────────────┘
│ ┌───────────┐
├────┤ FTextView │
│ └───────────┘
│ ┌───────────┐1 1┌──────────────────┐
├────┤ FComboBox ├------┤ FDropDownListBox │
│ └───────────┘ └──────────────────┘
┌─────────────┐1 │ ┌──────────┐1 *┌──────────────┐1
│ FTermBuffer ├----------------------├────┤ FListBox ├-------┤ FListBoxItem ├--┐
└─────────────┘ │ └──────────┘ └──────────────┘ :
│ 1┌───────────┐1 *┌───────────────┐ :
├────┤ FListView ├------┤ FListViewItem │ :
│ └───────────┘ └────────┬──────┘ :
│ ┌─────────────┐ :1 :
├────┤ FScrollView │ ┌───┴───┐1 :
│ └─────────────┘ │ FData ├----┘
│ └───────┘
│ ┌────────────┐1 *┌────────────┐
│ ┌──┤ FStatusBar ├-----┤ FStatusKey │
│ │ └────────────┘ └────────────┘
│ │
│ ▼ ┌─────────────┐
┌───┴─┴───┐ ┌─────────┐ ┌──┤ FFileDialog │
│ FWindow │◄─┤ FDialog │◄──┤ └─────────────┘
└──┬──┬───┘ └─────────┘ │ ┌─────────────┐
▲ ▲ └──┤ FMessageBox │
│ │ └─────────────┘
│ │ ┌──────────┐ ┌────────────────┐
│ └──────┤ FToolTip │◄─┤ FBusyIndicator │
│ └──────────┘ └────────────────┘
└───────────────┐ ┌──────────┐
│ ┌───┤ FMenuBar │
┌───────────┐ └──────┤ └──────────┘
│ FMenuList │◄──────────┤ ┌───────┐
└────┬──────┘ └───┤ FMenu │◄──┐
:1 └───────┘ │
: ┌─────────────────┐ │
: │ FDialogListMenu ├───┘
: └─────────────────┘
└--------------------------------┐
:* ┌────────────────┐* :
┌────┴─────┐ ┌──┤ FCheckMenuItem ├---┘
│FMenuItem │◄─┤ └────────────────┘ :
└──────────┘ │ ┌────────────────┐* :
└──┤ FRadioMenuItem ├---┘
└────────────────┘
</pre>
## Frequently Asked Questions
For general questions about FINAL CUT, likely the answer is already included in the [FAQ](doc/faq.md#frequently-asked-questions).
## Please send bug reports to
https://github.com/gansm/finalcut/issues
## License
GNU Lesser General Public License Version 3 <a href="https://www.gnu.org/licenses/lgpl-3.0-standalone.html"><img width="200" align="right" src="https://camo.githubusercontent.com/726b87cc2ebaf8c40716842ff509c5f874381c8e/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f332f33622f4c47504c76335f4c6f676f2e737667" alt="LGPLv3" data-canonical-src="https://upload.wikimedia.org/wikipedia/commons/3/3b/LGPLv3_Logo.svg"></a>

12
SECURITY.md Normal file
View File

@ -0,0 +1,12 @@
# Security policy
## Dealing with security vulnerabilities
There is no separate process for handling security vulnerabilities in FINAL CUT. Security vulnerabilities are fixed and published like all other bugs. Nevertheless, from the moment they are brought to our attention, we try to close them as soon as possible.
## Reporting a security vulnerability
Preferably report a vulnerability via email to "guru.mail" + "@" + "muenster.de" or open an issue in the GitHub repository, the latter meaning that you made the vulnerability public before it was fixed.
If you already have a solution for the security problem, please submit a pull request.

1044
aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,22 +1,34 @@
#!/bin/sh
# Set up an m4 environment
aclocal
if test "$1" = "update"
then
# Update generated configuration files
if command -v autoreconf >/dev/null
then
autoreconf --force --install --verbose --warnings=all
else
echo "Update failed, please install autoconf first"
exit 1
fi
else
# Set up an m4 environment
aclocal
# Generate configure from configure.ac
autoconf
# Generate configure from configure.ac
autoconf
# reate a template header (config.h.in) for configure
autoheader
# reate a template header (config.h.in) for configure
autoheader
# generates a custom version of the generic libtool script
libtoolize --copy
# generates a custom version of the generic libtool script
libtoolize --copy
# Generate Makefile.in from Makefile.am
automake --add-missing --copy
# Generate Makefile.in from Makefile.am
automake --add-missing --copy
fi
echo
echo 'run "./configure ; make"'
echo 'run "./configure --prefix=/usr && make"'
echo
# Generate Makefile from Makefile.in

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,514 +0,0 @@
# This file was generated.
# It contains the lists of macros which have been traced.
# It can be safely removed.
@request = (
bless( [
'0',
1,
[
'/usr/share/autoconf'
],
[
'/usr/share/autoconf/autoconf/autoconf.m4f',
'-',
'/usr/share/aclocal-1.13/internal/ac-config-macro-dirs.m4',
'/usr/share/aclocal/argz.m4',
'/usr/share/aclocal/libtool.m4',
'/usr/share/aclocal/ltdl.m4',
'/usr/share/aclocal/ltoptions.m4',
'/usr/share/aclocal/ltsugar.m4',
'/usr/share/aclocal/ltversion.m4',
'/usr/share/aclocal/lt~obsolete.m4',
'/usr/share/aclocal-1.13/amversion.m4',
'/usr/share/aclocal-1.13/auxdir.m4',
'/usr/share/aclocal-1.13/cond.m4',
'/usr/share/aclocal-1.13/depend.m4',
'/usr/share/aclocal-1.13/depout.m4',
'/usr/share/aclocal-1.13/init.m4',
'/usr/share/aclocal-1.13/install-sh.m4',
'/usr/share/aclocal-1.13/lead-dot.m4',
'/usr/share/aclocal-1.13/make.m4',
'/usr/share/aclocal-1.13/missing.m4',
'/usr/share/aclocal-1.13/options.m4',
'/usr/share/aclocal-1.13/runlog.m4',
'/usr/share/aclocal-1.13/sanity.m4',
'/usr/share/aclocal-1.13/silent.m4',
'/usr/share/aclocal-1.13/strip.m4',
'/usr/share/aclocal-1.13/substnot.m4',
'/usr/share/aclocal-1.13/tar.m4',
'configure.ac'
],
{
'AM_SET_DEPDIR' => 1,
'LT_FUNC_DLSYM_USCORE' => 1,
'AC_LIBTOOL_PICMODE' => 1,
'_LT_AC_LANG_GCJ' => 1,
'_LT_AC_TAGCONFIG' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'AC_PROG_NM' => 1,
'AC_LIBTOOL_WIN32_DLL' => 1,
'LT_AC_PROG_SED' => 1,
'_AC_AM_CONFIG_HEADER_HOOK' => 1,
'AM_AUX_DIR_EXPAND' => 1,
'AC_LIBLTDL_CONVENIENCE' => 1,
'AC_PROG_EGREP' => 1,
'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
'_LT_AC_LANG_CXX' => 1,
'AC_LIBTOOL_LANG_C_CONFIG' => 1,
'LTDL_CONVENIENCE' => 1,
'LTSUGAR_VERSION' => 1,
'LT_SYS_SYMBOL_USCORE' => 1,
'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
'AC_DISABLE_SHARED' => 1,
'AM_PROG_LIBTOOL' => 1,
'_LT_AC_LANG_RC_CONFIG' => 1,
'LT_SYS_MODULE_PATH' => 1,
'_AM_PROG_TAR' => 1,
'AC_LIBTOOL_GCJ' => 1,
'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
'AC_LIBTOOL_CONFIG' => 1,
'AC_LTDL_SHLIBEXT' => 1,
'_LT_AC_LANG_F77_CONFIG' => 1,
'_AC_PROG_LIBTOOL' => 1,
'AC_LIBTOOL_DLOPEN' => 1,
'AM_DEP_TRACK' => 1,
'AM_ENABLE_SHARED' => 1,
'_AM_MANGLE_OPTION' => 1,
'm4_pattern_allow' => 1,
'AM_SET_LEADING_DOT' => 1,
'_LT_AC_TAGVAR' => 1,
'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
'AM_MISSING_HAS_RUN' => 1,
'_LT_AC_LANG_CXX_CONFIG' => 1,
'AM_CONDITIONAL' => 1,
'_AM_SET_OPTION' => 1,
'AC_LIBTOOL_LINKER_OPTION' => 1,
'AC_ENABLE_STATIC' => 1,
'AC_LTDL_SHLIBPATH' => 1,
'AC_LIBTOOL_DLOPEN_SELF' => 1,
'_LT_AC_LOCK' => 1,
'AC_ENABLE_FAST_INSTALL' => 1,
'LTOBSOLETE_VERSION' => 1,
'_LT_PROG_LTMAIN' => 1,
'LT_LANG' => 1,
'AC_LIBTOOL_SETUP' => 1,
'AC_LIBTOOL_COMPILER_OPTION' => 1,
'AM_PROG_LD' => 1,
'AM_ENABLE_STATIC' => 1,
'_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'AC_LTDL_DLLIB' => 1,
'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
'AC_ENABLE_SHARED' => 1,
'_LT_AC_PROG_ECHO_BACKSLASH' => 1,
'AM_DISABLE_STATIC' => 1,
'LT_LIB_M' => 1,
'_LT_COMPILER_OPTION' => 1,
'AM_PROG_INSTALL_SH' => 1,
'AC_LTDL_SYSSEARCHPATH' => 1,
'AM_SILENT_RULES' => 1,
'AC_DISABLE_STATIC' => 1,
'LT_PROG_RC' => 1,
'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
'AC_LIBTOOL_RC' => 1,
'_LT_CC_BASENAME' => 1,
'AU_DEFUN' => 1,
'AC_LIBTOOL_OBJDIR' => 1,
'_LT_LIBOBJ' => 1,
'AC_LIBLTDL_INSTALLABLE' => 1,
'AM_DISABLE_SHARED' => 1,
'AM_SUBST_NOTMAKE' => 1,
'AC_LIBTOOL_CXX' => 1,
'm4_pattern_forbid' => 1,
'LT_LIB_DLLOAD' => 1,
'AC_DISABLE_FAST_INSTALL' => 1,
'_LTDL_SETUP' => 1,
'AC_LTDL_ENABLE_INSTALL' => 1,
'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
'_LT_LINKER_OPTION' => 1,
'AC_LIBTOOL_FC' => 1,
'AC_PROG_LD_GNU' => 1,
'AC_PROG_LD_RELOAD_FLAG' => 1,
'LT_SYS_DLSEARCH_PATH' => 1,
'_LT_AC_SYS_LIBPATH_AIX' => 1,
'gl_PREREQ_ARGZ' => 1,
'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
'AC_LTDL_DLSYM_USCORE' => 1,
'AC_LTDL_PREOPEN' => 1,
'LT_AC_PROG_GCJ' => 1,
'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AM_PROG_INSTALL_STRIP' => 1,
'_LT_AC_SHELL_INIT' => 1,
'_AM_IF_OPTION' => 1,
'LT_AC_PROG_RC' => 1,
'_LT_REQUIRED_DARWIN_CHECKS' => 1,
'AC_DEFUN_ONCE' => 1,
'LT_PATH_LD' => 1,
'LT_OUTPUT' => 1,
'LTDL_INSTALLABLE' => 1,
'_AM_SET_OPTIONS' => 1,
'_LT_LINKER_BOILERPLATE' => 1,
'_LT_AC_PROG_CXXCPP' => 1,
'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
'_LT_AC_TRY_DLOPEN_SELF' => 1,
'AC_PATH_MAGIC' => 1,
'AC_CONFIG_MACRO_DIR' => 1,
'AC_PROG_LIBTOOL' => 1,
'LTVERSION_VERSION' => 1,
'AM_RUN_LOG' => 1,
'LT_CMD_MAX_LEN' => 1,
'LT_SYS_DLOPEN_SELF' => 1,
'LT_SUPPORTED_TAG' => 1,
'_AM_CONFIG_MACRO_DIRS' => 1,
'LT_INIT' => 1,
'_LT_AC_FILE_LTDLL_C' => 1,
'_LT_AC_LANG_GCJ_CONFIG' => 1,
'AM_SANITY_CHECK' => 1,
'AC_LTDL_SYMBOL_USCORE' => 1,
'AC_LIBTOOL_F77' => 1,
'_LT_PROG_FC' => 1,
'AC_CHECK_LIBM' => 1,
'LT_PROG_GCJ' => 1,
'LT_SYS_MODULE_EXT' => 1,
'm4_include' => 1,
'_LT_PROG_F77' => 1,
'AM_MAKE_INCLUDE' => 1,
'LT_PATH_NM' => 1,
'LT_SYS_DLOPEN_DEPLIBS' => 1,
'AC_WITH_LTDL' => 1,
'include' => 1,
'AC_LIB_LTDL' => 1,
'AM_PROG_NM' => 1,
'_LT_PROG_ECHO_BACKSLASH' => 1,
'_LT_AC_LANG_F77' => 1,
'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
'LTDL_INIT' => 1,
'AC_PATH_TOOL_PREFIX' => 1,
'_LT_PATH_TOOL_PREFIX' => 1,
'_LT_AC_CHECK_DLFCN' => 1,
'_LT_PREPARE_SED_QUOTE_VARS' => 1,
'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
'gl_FUNC_ARGZ' => 1,
'_LT_COMPILER_BOILERPLATE' => 1,
'LTOPTIONS_VERSION' => 1,
'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
'_AM_AUTOCONF_VERSION' => 1,
'AC_PROG_LD' => 1,
'_LT_AC_SYS_COMPILER' => 1,
'AC_CONFIG_MACRO_DIR_TRACE' => 1,
'_LT_WITH_SYSROOT' => 1,
'AM_MISSING_PROG' => 1,
'AC_LTDL_OBJDIR' => 1,
'LT_WITH_LTDL' => 1,
'AC_DEPLIBS_CHECK_METHOD' => 1,
'AC_DEFUN' => 1,
'AC_LIBTOOL_PROG_CC_C_O' => 1,
'_AM_DEPENDENCIES' => 1,
'LT_AC_PROG_EGREP' => 1,
'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
'_LT_PROG_CXX' => 1,
'_m4_warn' => 1,
'_LT_AC_LANG_C_CONFIG' => 1,
'LT_PROG_GO' => 1
}
], 'Autom4te::Request' ),
bless( [
'1',
1,
[
'/usr/share/autoconf'
],
[
'/usr/share/autoconf/autoconf/autoconf.m4f',
'aclocal.m4',
'configure.ac'
],
{
'AM_CONDITIONAL' => 1,
'm4_pattern_forbid' => 1,
'AC_LIBLTDL_INSTALLABLE' => 1,
'm4_sinclude' => 1,
'AM_ENABLE_MULTILIB' => 1,
'AC_SUBST_TRACE' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'_AM_COND_ENDIF' => 1,
'm4_include' => 1,
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
'AC_CONFIG_FILES' => 1,
'AC_INIT' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'_m4_warn' => 1,
'AC_REQUIRE_AUX_FILE' => 1,
'AM_MAINTAINER_MODE' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AM_POT_TOOLS' => 1,
'AC_PROG_LIBTOOL' => 1,
'AM_PROG_CXX_C_O' => 1,
'AC_CONFIG_HEADERS' => 1,
'_AM_MAKEFILE_INCLUDE' => 1,
'AM_SILENT_RULES' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AM_XGETTEXT_OPTION' => 1,
'_AM_COND_ELSE' => 1,
'AC_CANONICAL_HOST' => 1,
'm4_pattern_allow' => 1,
'LT_SUPPORTED_TAG' => 1,
'LT_INIT' => 1,
'AC_FC_PP_DEFINE' => 1,
'AM_GNU_GETTEXT' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'AC_CANONICAL_BUILD' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AM_PROG_F77_C_O' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_SUBST' => 1,
'AC_LIBSOURCE' => 1,
'AC_FC_PP_SRCEXT' => 1,
'AC_CONFIG_LINKS' => 1,
'AC_CANONICAL_TARGET' => 1,
'AH_OUTPUT' => 1,
'AM_PROG_FC_C_O' => 1,
'AM_PATH_GUILE' => 1,
'AC_FC_FREEFORM' => 1,
'AM_EXTRA_RECURSIVE_TARGETS' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'AM_NLS' => 1,
'AM_MAKEFILE_INCLUDE' => 1,
'AC_FC_SRCEXT' => 1,
'AM_PROG_MKDIR_P' => 1,
'include' => 1,
'_LT_AC_TAGCONFIG' => 1,
'_AM_COND_IF' => 1,
'AM_PROG_AR' => 1,
'sinclude' => 1,
'AM_PROG_MOC' => 1,
'AC_LIBLTDL_CONVENIENCE' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'AM_PROG_CC_C_O' => 1
}
], 'Autom4te::Request' ),
bless( [
'2',
1,
[
'/usr/share/autoconf'
],
[
'/usr/share/autoconf/autoconf/autoconf.m4f',
'-',
'/usr/share/aclocal-1.13/internal/ac-config-macro-dirs.m4',
'/usr/share/aclocal/argz.m4',
'/usr/share/aclocal/ltdl.m4',
'/usr/share/aclocal-1.13/amversion.m4',
'/usr/share/aclocal-1.13/auxdir.m4',
'/usr/share/aclocal-1.13/cond.m4',
'/usr/share/aclocal-1.13/depend.m4',
'/usr/share/aclocal-1.13/depout.m4',
'/usr/share/aclocal-1.13/init.m4',
'/usr/share/aclocal-1.13/install-sh.m4',
'/usr/share/aclocal-1.13/lead-dot.m4',
'/usr/share/aclocal-1.13/make.m4',
'/usr/share/aclocal-1.13/missing.m4',
'/usr/share/aclocal-1.13/options.m4',
'/usr/share/aclocal-1.13/runlog.m4',
'/usr/share/aclocal-1.13/sanity.m4',
'/usr/share/aclocal-1.13/silent.m4',
'/usr/share/aclocal-1.13/strip.m4',
'/usr/share/aclocal-1.13/substnot.m4',
'/usr/share/aclocal-1.13/tar.m4',
'm4/libtool.m4',
'm4/ltoptions.m4',
'm4/ltsugar.m4',
'm4/ltversion.m4',
'm4/lt~obsolete.m4',
'configure.ac'
],
{
'AM_SET_LEADING_DOT' => 1,
'm4_pattern_allow' => 1,
'_LT_AC_TAGVAR' => 1,
'_AM_MANGLE_OPTION' => 1,
'_AC_PROG_LIBTOOL' => 1,
'AM_ENABLE_SHARED' => 1,
'AM_DEP_TRACK' => 1,
'AC_LIBTOOL_DLOPEN' => 1,
'AC_LIBTOOL_CONFIG' => 1,
'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
'_LT_AC_LANG_F77_CONFIG' => 1,
'AC_LTDL_SHLIBEXT' => 1,
'AC_LIBTOOL_DLOPEN_SELF' => 1,
'AC_LIBTOOL_LINKER_OPTION' => 1,
'AC_ENABLE_STATIC' => 1,
'AC_LTDL_SHLIBPATH' => 1,
'AM_CONDITIONAL' => 1,
'_LT_AC_LANG_CXX_CONFIG' => 1,
'_AM_SET_OPTION' => 1,
'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
'AM_MISSING_HAS_RUN' => 1,
'_AC_AM_CONFIG_HEADER_HOOK' => 1,
'AC_LIBLTDL_CONVENIENCE' => 1,
'AM_AUX_DIR_EXPAND' => 1,
'AC_LIBTOOL_WIN32_DLL' => 1,
'LT_AC_PROG_SED' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'AC_PROG_NM' => 1,
'AM_SET_DEPDIR' => 1,
'LT_FUNC_DLSYM_USCORE' => 1,
'AC_LIBTOOL_PICMODE' => 1,
'_LT_AC_TAGCONFIG' => 1,
'_LT_AC_LANG_GCJ' => 1,
'LT_SYS_MODULE_PATH' => 1,
'_LT_AC_LANG_RC_CONFIG' => 1,
'AC_LIBTOOL_GCJ' => 1,
'_AM_PROG_TAR' => 1,
'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
'AC_DISABLE_SHARED' => 1,
'AM_PROG_LIBTOOL' => 1,
'LTSUGAR_VERSION' => 1,
'LT_SYS_SYMBOL_USCORE' => 1,
'LTDL_CONVENIENCE' => 1,
'AC_PROG_EGREP' => 1,
'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
'AC_LIBTOOL_LANG_C_CONFIG' => 1,
'_LT_AC_LANG_CXX' => 1,
'AC_LIBTOOL_OBJDIR' => 1,
'_LT_LIBOBJ' => 1,
'AU_DEFUN' => 1,
'_LT_CC_BASENAME' => 1,
'AC_LIBTOOL_RC' => 1,
'AC_DISABLE_STATIC' => 1,
'LT_PROG_RC' => 1,
'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
'AC_LTDL_SYSSEARCHPATH' => 1,
'AM_SILENT_RULES' => 1,
'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
'_LT_LINKER_OPTION' => 1,
'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
'_LTDL_SETUP' => 1,
'AC_LTDL_ENABLE_INSTALL' => 1,
'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
'LT_LIB_DLLOAD' => 1,
'AC_LIBTOOL_CXX' => 1,
'm4_pattern_forbid' => 1,
'AC_DISABLE_FAST_INSTALL' => 1,
'AC_LIBLTDL_INSTALLABLE' => 1,
'AM_SUBST_NOTMAKE' => 1,
'AM_DISABLE_SHARED' => 1,
'AM_ENABLE_STATIC' => 1,
'AM_PROG_LD' => 1,
'_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
'AC_LIBTOOL_SETUP' => 1,
'LT_LANG' => 1,
'AC_LIBTOOL_COMPILER_OPTION' => 1,
'LTOBSOLETE_VERSION' => 1,
'_LT_PROG_LTMAIN' => 1,
'_LT_AC_LOCK' => 1,
'AC_ENABLE_FAST_INSTALL' => 1,
'_LT_COMPILER_OPTION' => 1,
'LT_LIB_M' => 1,
'AM_PROG_INSTALL_SH' => 1,
'_LT_AC_PROG_ECHO_BACKSLASH' => 1,
'AM_DISABLE_STATIC' => 1,
'AC_ENABLE_SHARED' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'AC_LTDL_DLLIB' => 1,
'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
'LT_SUPPORTED_TAG' => 1,
'_AM_CONFIG_MACRO_DIRS' => 1,
'LT_INIT' => 1,
'AM_RUN_LOG' => 1,
'LTVERSION_VERSION' => 1,
'LT_SYS_DLOPEN_SELF' => 1,
'LT_CMD_MAX_LEN' => 1,
'_LT_AC_TRY_DLOPEN_SELF' => 1,
'AC_PATH_MAGIC' => 1,
'AC_PROG_LIBTOOL' => 1,
'AC_CONFIG_MACRO_DIR' => 1,
'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
'_LT_AC_PROG_CXXCPP' => 1,
'_LT_LINKER_BOILERPLATE' => 1,
'_AM_SET_OPTIONS' => 1,
'AM_MAKE_INCLUDE' => 1,
'_LT_PROG_F77' => 1,
'm4_include' => 1,
'LT_PATH_NM' => 1,
'AC_CHECK_LIBM' => 1,
'AC_LIBTOOL_F77' => 1,
'_LT_PROG_FC' => 1,
'LT_SYS_MODULE_EXT' => 1,
'LT_PROG_GCJ' => 1,
'AC_LTDL_SYMBOL_USCORE' => 1,
'AM_SANITY_CHECK' => 1,
'_LT_AC_FILE_LTDLL_C' => 1,
'_LT_AC_LANG_GCJ_CONFIG' => 1,
'LT_AC_PROG_GCJ' => 1,
'AC_LTDL_PREOPEN' => 1,
'AC_LTDL_DLSYM_USCORE' => 1,
'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
'gl_PREREQ_ARGZ' => 1,
'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
'LT_SYS_DLSEARCH_PATH' => 1,
'AC_PROG_LD_RELOAD_FLAG' => 1,
'_LT_AC_SYS_LIBPATH_AIX' => 1,
'AC_PROG_LD_GNU' => 1,
'AC_LIBTOOL_FC' => 1,
'LTDL_INSTALLABLE' => 1,
'AC_DEFUN_ONCE' => 1,
'_LT_REQUIRED_DARWIN_CHECKS' => 1,
'LT_OUTPUT' => 1,
'LT_PATH_LD' => 1,
'_LT_AC_SHELL_INIT' => 1,
'AM_PROG_INSTALL_STRIP' => 1,
'LT_AC_PROG_RC' => 1,
'_AM_IF_OPTION' => 1,
'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_DEFUN' => 1,
'LT_WITH_LTDL' => 1,
'AC_DEPLIBS_CHECK_METHOD' => 1,
'AC_LIBTOOL_PROG_CC_C_O' => 1,
'AC_LTDL_OBJDIR' => 1,
'AM_MISSING_PROG' => 1,
'AC_CONFIG_MACRO_DIR_TRACE' => 1,
'_LT_WITH_SYSROOT' => 1,
'LT_PROG_GO' => 1,
'_m4_warn' => 1,
'_LT_PROG_CXX' => 1,
'_LT_AC_LANG_C_CONFIG' => 1,
'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'_AM_DEPENDENCIES' => 1,
'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
'LT_AC_PROG_EGREP' => 1,
'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
'_LT_AC_LANG_F77' => 1,
'_LT_PROG_ECHO_BACKSLASH' => 1,
'AM_PROG_NM' => 1,
'AC_WITH_LTDL' => 1,
'LT_SYS_DLOPEN_DEPLIBS' => 1,
'AC_LIB_LTDL' => 1,
'include' => 1,
'_LT_AC_SYS_COMPILER' => 1,
'_LT_COMPILER_BOILERPLATE' => 1,
'_AM_AUTOCONF_VERSION' => 1,
'AC_PROG_LD' => 1,
'LTOPTIONS_VERSION' => 1,
'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
'_LT_PREPARE_SED_QUOTE_VARS' => 1,
'gl_FUNC_ARGZ' => 1,
'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
'LTDL_INIT' => 1,
'_LT_AC_CHECK_DLFCN' => 1,
'_LT_PATH_TOOL_PREFIX' => 1,
'AC_PATH_TOOL_PREFIX' => 1
}
], 'Autom4te::Request' )
);

File diff suppressed because it is too large Load Diff

View File

@ -1,612 +0,0 @@
m4trace:aclocal.m4:1040: -1- m4_include([m4/libtool.m4])
m4trace:aclocal.m4:1041: -1- m4_include([m4/ltoptions.m4])
m4trace:aclocal.m4:1042: -1- m4_include([m4/ltsugar.m4])
m4trace:aclocal.m4:1043: -1- m4_include([m4/ltversion.m4])
m4trace:aclocal.m4:1044: -1- m4_include([m4/lt~obsolete.m4])
m4trace:configure.ac:7: -1- AC_INIT([finalcut], [0.1.0b])
m4trace:configure.ac:7: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.ac:7: -1- m4_pattern_forbid([_AC_])
m4trace:configure.ac:7: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
m4trace:configure.ac:7: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.ac:7: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.ac:7: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.ac:7: -1- m4_pattern_forbid([^_?AS_])
m4trace:configure.ac:7: -1- AC_SUBST([SHELL])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([SHELL])
m4trace:configure.ac:7: -1- m4_pattern_allow([^SHELL$])
m4trace:configure.ac:7: -1- AC_SUBST([PATH_SEPARATOR])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PATH_SEPARATOR$])
m4trace:configure.ac:7: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([PACKAGE_NAME])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.ac:7: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.ac:7: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.ac:7: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([PACKAGE_STRING])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.ac:7: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.ac:7: -1- AC_SUBST([PACKAGE_URL], [m4_ifdef([AC_PACKAGE_URL], ['AC_PACKAGE_URL'])])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([PACKAGE_URL])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE_URL$])
m4trace:configure.ac:7: -1- AC_SUBST([exec_prefix], [NONE])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([exec_prefix])
m4trace:configure.ac:7: -1- m4_pattern_allow([^exec_prefix$])
m4trace:configure.ac:7: -1- AC_SUBST([prefix], [NONE])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([prefix])
m4trace:configure.ac:7: -1- m4_pattern_allow([^prefix$])
m4trace:configure.ac:7: -1- AC_SUBST([program_transform_name], [s,x,x,])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([program_transform_name])
m4trace:configure.ac:7: -1- m4_pattern_allow([^program_transform_name$])
m4trace:configure.ac:7: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([bindir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^bindir$])
m4trace:configure.ac:7: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([sbindir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^sbindir$])
m4trace:configure.ac:7: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([libexecdir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^libexecdir$])
m4trace:configure.ac:7: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([datarootdir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^datarootdir$])
m4trace:configure.ac:7: -1- AC_SUBST([datadir], ['${datarootdir}'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([datadir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^datadir$])
m4trace:configure.ac:7: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([sysconfdir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^sysconfdir$])
m4trace:configure.ac:7: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([sharedstatedir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^sharedstatedir$])
m4trace:configure.ac:7: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([localstatedir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^localstatedir$])
m4trace:configure.ac:7: -1- AC_SUBST([includedir], ['${prefix}/include'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([includedir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^includedir$])
m4trace:configure.ac:7: -1- AC_SUBST([oldincludedir], ['/usr/include'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([oldincludedir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^oldincludedir$])
m4trace:configure.ac:7: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
['${datarootdir}/doc/${PACKAGE_TARNAME}'],
['${datarootdir}/doc/${PACKAGE}'])])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([docdir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^docdir$])
m4trace:configure.ac:7: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([infodir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^infodir$])
m4trace:configure.ac:7: -1- AC_SUBST([htmldir], ['${docdir}'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([htmldir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^htmldir$])
m4trace:configure.ac:7: -1- AC_SUBST([dvidir], ['${docdir}'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([dvidir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^dvidir$])
m4trace:configure.ac:7: -1- AC_SUBST([pdfdir], ['${docdir}'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([pdfdir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^pdfdir$])
m4trace:configure.ac:7: -1- AC_SUBST([psdir], ['${docdir}'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([psdir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^psdir$])
m4trace:configure.ac:7: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([libdir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^libdir$])
m4trace:configure.ac:7: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([localedir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^localedir$])
m4trace:configure.ac:7: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([mandir])
m4trace:configure.ac:7: -1- m4_pattern_allow([^mandir$])
m4trace:configure.ac:7: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.ac:7: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
@%:@undef PACKAGE_NAME])
m4trace:configure.ac:7: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.ac:7: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
@%:@undef PACKAGE_TARNAME])
m4trace:configure.ac:7: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.ac:7: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
@%:@undef PACKAGE_VERSION])
m4trace:configure.ac:7: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.ac:7: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
@%:@undef PACKAGE_STRING])
m4trace:configure.ac:7: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.ac:7: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
@%:@undef PACKAGE_BUGREPORT])
m4trace:configure.ac:7: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_URL])
m4trace:configure.ac:7: -1- m4_pattern_allow([^PACKAGE_URL$])
m4trace:configure.ac:7: -1- AH_OUTPUT([PACKAGE_URL], [/* Define to the home page for this package. */
@%:@undef PACKAGE_URL])
m4trace:configure.ac:7: -1- AC_SUBST([DEFS])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([DEFS])
m4trace:configure.ac:7: -1- m4_pattern_allow([^DEFS$])
m4trace:configure.ac:7: -1- AC_SUBST([ECHO_C])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([ECHO_C])
m4trace:configure.ac:7: -1- m4_pattern_allow([^ECHO_C$])
m4trace:configure.ac:7: -1- AC_SUBST([ECHO_N])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([ECHO_N])
m4trace:configure.ac:7: -1- m4_pattern_allow([^ECHO_N$])
m4trace:configure.ac:7: -1- AC_SUBST([ECHO_T])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([ECHO_T])
m4trace:configure.ac:7: -1- m4_pattern_allow([^ECHO_T$])
m4trace:configure.ac:7: -1- AC_SUBST([LIBS])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.ac:7: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.ac:7: -1- AC_SUBST([build_alias])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([build_alias])
m4trace:configure.ac:7: -1- m4_pattern_allow([^build_alias$])
m4trace:configure.ac:7: -1- AC_SUBST([host_alias])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([host_alias])
m4trace:configure.ac:7: -1- m4_pattern_allow([^host_alias$])
m4trace:configure.ac:7: -1- AC_SUBST([target_alias])
m4trace:configure.ac:7: -1- AC_SUBST_TRACE([target_alias])
m4trace:configure.ac:7: -1- m4_pattern_allow([^target_alias$])
m4trace:configure.ac:9: -1- AM_INIT_AUTOMAKE
m4trace:configure.ac:9: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
m4trace:configure.ac:9: -1- AM_AUTOMAKE_VERSION([1.13.4])
m4trace:configure.ac:9: -1- AC_REQUIRE_AUX_FILE([install-sh])
m4trace:configure.ac:9: -1- AC_SUBST([INSTALL_PROGRAM])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
m4trace:configure.ac:9: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
m4trace:configure.ac:9: -1- AC_SUBST([INSTALL_SCRIPT])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
m4trace:configure.ac:9: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
m4trace:configure.ac:9: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([INSTALL_DATA])
m4trace:configure.ac:9: -1- m4_pattern_allow([^INSTALL_DATA$])
m4trace:configure.ac:9: -1- AC_SUBST([am__isrc], [' -I$(srcdir)'])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([am__isrc])
m4trace:configure.ac:9: -1- m4_pattern_allow([^am__isrc$])
m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([am__isrc])
m4trace:configure.ac:9: -1- AC_SUBST([CYGPATH_W])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([CYGPATH_W])
m4trace:configure.ac:9: -1- m4_pattern_allow([^CYGPATH_W$])
m4trace:configure.ac:9: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([PACKAGE])
m4trace:configure.ac:9: -1- m4_pattern_allow([^PACKAGE$])
m4trace:configure.ac:9: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([VERSION])
m4trace:configure.ac:9: -1- m4_pattern_allow([^VERSION$])
m4trace:configure.ac:9: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
m4trace:configure.ac:9: -1- m4_pattern_allow([^PACKAGE$])
m4trace:configure.ac:9: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
@%:@undef PACKAGE])
m4trace:configure.ac:9: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
m4trace:configure.ac:9: -1- m4_pattern_allow([^VERSION$])
m4trace:configure.ac:9: -1- AH_OUTPUT([VERSION], [/* Version number of package */
@%:@undef VERSION])
m4trace:configure.ac:9: -1- AC_REQUIRE_AUX_FILE([missing])
m4trace:configure.ac:9: -1- AC_SUBST([ACLOCAL])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([ACLOCAL])
m4trace:configure.ac:9: -1- m4_pattern_allow([^ACLOCAL$])
m4trace:configure.ac:9: -1- AC_SUBST([AUTOCONF])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([AUTOCONF])
m4trace:configure.ac:9: -1- m4_pattern_allow([^AUTOCONF$])
m4trace:configure.ac:9: -1- AC_SUBST([AUTOMAKE])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([AUTOMAKE])
m4trace:configure.ac:9: -1- m4_pattern_allow([^AUTOMAKE$])
m4trace:configure.ac:9: -1- AC_SUBST([AUTOHEADER])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([AUTOHEADER])
m4trace:configure.ac:9: -1- m4_pattern_allow([^AUTOHEADER$])
m4trace:configure.ac:9: -1- AC_SUBST([MAKEINFO])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([MAKEINFO])
m4trace:configure.ac:9: -1- m4_pattern_allow([^MAKEINFO$])
m4trace:configure.ac:9: -1- AC_SUBST([install_sh])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([install_sh])
m4trace:configure.ac:9: -1- m4_pattern_allow([^install_sh$])
m4trace:configure.ac:9: -1- AC_SUBST([STRIP])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([STRIP])
m4trace:configure.ac:9: -1- m4_pattern_allow([^STRIP$])
m4trace:configure.ac:9: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM])
m4trace:configure.ac:9: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
m4trace:configure.ac:9: -1- AC_REQUIRE_AUX_FILE([install-sh])
m4trace:configure.ac:9: -1- AC_SUBST([MKDIR_P])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([MKDIR_P])
m4trace:configure.ac:9: -1- m4_pattern_allow([^MKDIR_P$])
m4trace:configure.ac:9: -1- AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([mkdir_p])
m4trace:configure.ac:9: -1- m4_pattern_allow([^mkdir_p$])
m4trace:configure.ac:9: -1- AC_SUBST([AWK])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([AWK])
m4trace:configure.ac:9: -1- m4_pattern_allow([^AWK$])
m4trace:configure.ac:9: -1- AC_SUBST([SET_MAKE])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([SET_MAKE])
m4trace:configure.ac:9: -1- m4_pattern_allow([^SET_MAKE$])
m4trace:configure.ac:9: -1- AC_SUBST([am__leading_dot])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([am__leading_dot])
m4trace:configure.ac:9: -1- m4_pattern_allow([^am__leading_dot$])
m4trace:configure.ac:9: -1- AC_SUBST([AMTAR], ['$${TAR-tar}'])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([AMTAR])
m4trace:configure.ac:9: -1- m4_pattern_allow([^AMTAR$])
m4trace:configure.ac:9: -1- AC_SUBST([am__tar])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([am__tar])
m4trace:configure.ac:9: -1- m4_pattern_allow([^am__tar$])
m4trace:configure.ac:9: -1- AC_SUBST([am__untar])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([am__untar])
m4trace:configure.ac:9: -1- m4_pattern_allow([^am__untar$])
m4trace:configure.ac:9: -1- AM_SILENT_RULES
m4trace:configure.ac:9: -1- AC_SUBST([AM_V])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([AM_V])
m4trace:configure.ac:9: -1- m4_pattern_allow([^AM_V$])
m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([AM_V])
m4trace:configure.ac:9: -1- AC_SUBST([AM_DEFAULT_V])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([AM_DEFAULT_V])
m4trace:configure.ac:9: -1- m4_pattern_allow([^AM_DEFAULT_V$])
m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([AM_DEFAULT_V])
m4trace:configure.ac:9: -1- AC_SUBST([AM_DEFAULT_VERBOSITY])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([AM_DEFAULT_VERBOSITY])
m4trace:configure.ac:9: -1- m4_pattern_allow([^AM_DEFAULT_VERBOSITY$])
m4trace:configure.ac:9: -1- AC_SUBST([AM_BACKSLASH])
m4trace:configure.ac:9: -1- AC_SUBST_TRACE([AM_BACKSLASH])
m4trace:configure.ac:9: -1- m4_pattern_allow([^AM_BACKSLASH$])
m4trace:configure.ac:9: -1- _AM_SUBST_NOTMAKE([AM_BACKSLASH])
m4trace:configure.ac:10: -1- AC_SUBST([CC])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:10: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:10: -1- AC_SUBST([CFLAGS])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([CFLAGS])
m4trace:configure.ac:10: -1- m4_pattern_allow([^CFLAGS$])
m4trace:configure.ac:10: -1- AC_SUBST([LDFLAGS])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([LDFLAGS])
m4trace:configure.ac:10: -1- m4_pattern_allow([^LDFLAGS$])
m4trace:configure.ac:10: -1- AC_SUBST([LIBS])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.ac:10: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.ac:10: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.ac:10: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.ac:10: -1- AC_SUBST([CC])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:10: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:10: -1- AC_SUBST([CC])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:10: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:10: -1- AC_SUBST([CC])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:10: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:10: -1- AC_SUBST([CC])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([CC])
m4trace:configure.ac:10: -1- m4_pattern_allow([^CC$])
m4trace:configure.ac:10: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([ac_ct_CC])
m4trace:configure.ac:10: -1- m4_pattern_allow([^ac_ct_CC$])
m4trace:configure.ac:10: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([EXEEXT])
m4trace:configure.ac:10: -1- m4_pattern_allow([^EXEEXT$])
m4trace:configure.ac:10: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([OBJEXT])
m4trace:configure.ac:10: -1- m4_pattern_allow([^OBJEXT$])
m4trace:configure.ac:10: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([DEPDIR])
m4trace:configure.ac:10: -1- m4_pattern_allow([^DEPDIR$])
m4trace:configure.ac:10: -1- AC_SUBST([am__include])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([am__include])
m4trace:configure.ac:10: -1- m4_pattern_allow([^am__include$])
m4trace:configure.ac:10: -1- AC_SUBST([am__quote])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([am__quote])
m4trace:configure.ac:10: -1- m4_pattern_allow([^am__quote$])
m4trace:configure.ac:10: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
m4trace:configure.ac:10: -1- AC_SUBST([AMDEP_TRUE])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([AMDEP_TRUE])
m4trace:configure.ac:10: -1- m4_pattern_allow([^AMDEP_TRUE$])
m4trace:configure.ac:10: -1- AC_SUBST([AMDEP_FALSE])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([AMDEP_FALSE])
m4trace:configure.ac:10: -1- m4_pattern_allow([^AMDEP_FALSE$])
m4trace:configure.ac:10: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE])
m4trace:configure.ac:10: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE])
m4trace:configure.ac:10: -1- AC_SUBST([AMDEPBACKSLASH])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([AMDEPBACKSLASH])
m4trace:configure.ac:10: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
m4trace:configure.ac:10: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])
m4trace:configure.ac:10: -1- AC_SUBST([am__nodep])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([am__nodep])
m4trace:configure.ac:10: -1- m4_pattern_allow([^am__nodep$])
m4trace:configure.ac:10: -1- _AM_SUBST_NOTMAKE([am__nodep])
m4trace:configure.ac:10: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([CCDEPMODE])
m4trace:configure.ac:10: -1- m4_pattern_allow([^CCDEPMODE$])
m4trace:configure.ac:10: -1- AM_CONDITIONAL([am__fastdepCC], [
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3])
m4trace:configure.ac:10: -1- AC_SUBST([am__fastdepCC_TRUE])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
m4trace:configure.ac:10: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
m4trace:configure.ac:10: -1- AC_SUBST([am__fastdepCC_FALSE])
m4trace:configure.ac:10: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
m4trace:configure.ac:10: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
m4trace:configure.ac:10: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE])
m4trace:configure.ac:10: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE])
m4trace:configure.ac:11: -1- AC_SUBST([CXX])
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([CXX])
m4trace:configure.ac:11: -1- m4_pattern_allow([^CXX$])
m4trace:configure.ac:11: -1- AC_SUBST([CXXFLAGS])
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([CXXFLAGS])
m4trace:configure.ac:11: -1- m4_pattern_allow([^CXXFLAGS$])
m4trace:configure.ac:11: -1- AC_SUBST([LDFLAGS])
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([LDFLAGS])
m4trace:configure.ac:11: -1- m4_pattern_allow([^LDFLAGS$])
m4trace:configure.ac:11: -1- AC_SUBST([LIBS])
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.ac:11: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.ac:11: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.ac:11: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.ac:11: -1- AC_SUBST([CXX])
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([CXX])
m4trace:configure.ac:11: -1- m4_pattern_allow([^CXX$])
m4trace:configure.ac:11: -1- AC_SUBST([ac_ct_CXX])
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([ac_ct_CXX])
m4trace:configure.ac:11: -1- m4_pattern_allow([^ac_ct_CXX$])
m4trace:configure.ac:11: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type])
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([CXXDEPMODE])
m4trace:configure.ac:11: -1- m4_pattern_allow([^CXXDEPMODE$])
m4trace:configure.ac:11: -1- AM_CONDITIONAL([am__fastdepCXX], [
test "x$enable_dependency_tracking" != xno \
&& test "$am_cv_CXX_dependencies_compiler_type" = gcc3])
m4trace:configure.ac:11: -1- AC_SUBST([am__fastdepCXX_TRUE])
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE])
m4trace:configure.ac:11: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$])
m4trace:configure.ac:11: -1- AC_SUBST([am__fastdepCXX_FALSE])
m4trace:configure.ac:11: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE])
m4trace:configure.ac:11: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$])
m4trace:configure.ac:11: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE])
m4trace:configure.ac:11: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE])
m4trace:configure.ac:14: -1- AC_SUBST([CPP])
m4trace:configure.ac:14: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.ac:14: -1- m4_pattern_allow([^CPP$])
m4trace:configure.ac:14: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:14: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.ac:14: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.ac:14: -1- AC_SUBST([CPP])
m4trace:configure.ac:14: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.ac:14: -1- m4_pattern_allow([^CPP$])
m4trace:configure.ac:14: -1- AC_SUBST([GREP])
m4trace:configure.ac:14: -1- AC_SUBST_TRACE([GREP])
m4trace:configure.ac:14: -1- m4_pattern_allow([^GREP$])
m4trace:configure.ac:14: -1- AC_SUBST([EGREP])
m4trace:configure.ac:14: -1- AC_SUBST_TRACE([EGREP])
m4trace:configure.ac:14: -1- m4_pattern_allow([^EGREP$])
m4trace:configure.ac:14: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.ac:14: -1- m4_pattern_allow([^STDC_HEADERS$])
m4trace:configure.ac:14: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
@%:@undef STDC_HEADERS])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_LINUX_FB_H], [/* Define to 1 if you have the <linux/fb.h> header file. */
@%:@undef HAVE_LINUX_FB_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_SYS_IO_H], [/* Define to 1 if you have the <sys/io.h> header file. */
@%:@undef HAVE_SYS_IO_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_SYS_KD_H], [/* Define to 1 if you have the <sys/kd.h> header file. */
@%:@undef HAVE_SYS_KD_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
@%:@undef HAVE_SYS_STAT_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
@%:@undef HAVE_SYS_TIME_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
@%:@undef HAVE_FCNTL_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_LANGINFO_H], [/* Define to 1 if you have the <langinfo.h> header file. */
@%:@undef HAVE_LANGINFO_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_TERM_H], [/* Define to 1 if you have the <term.h> header file. */
@%:@undef HAVE_TERM_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_TERMIOS_H], [/* Define to 1 if you have the <termios.h> header file. */
@%:@undef HAVE_TERMIOS_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
@%:@undef HAVE_UNISTD_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_CMATH], [/* Define to 1 if you have the <cmath> header file. */
@%:@undef HAVE_CMATH])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_CSIGNAL], [/* Define to 1 if you have the <csignal> header file. */
@%:@undef HAVE_CSIGNAL])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_CSTDLIB], [/* Define to 1 if you have the <cstdlib> header file. */
@%:@undef HAVE_CSTDLIB])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_LIST], [/* Define to 1 if you have the <list> header file. */
@%:@undef HAVE_LIST])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_MAP], [/* Define to 1 if you have the <map> header file. */
@%:@undef HAVE_MAP])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_QUEUE], [/* Define to 1 if you have the <queue> header file. */
@%:@undef HAVE_QUEUE])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_VECTOR], [/* Define to 1 if you have the <vector> header file. */
@%:@undef HAVE_VECTOR])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
@%:@undef HAVE_SYS_TYPES_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
@%:@undef HAVE_SYS_STAT_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
@%:@undef HAVE_STDLIB_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
@%:@undef HAVE_STRING_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
@%:@undef HAVE_MEMORY_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
@%:@undef HAVE_STRINGS_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
@%:@undef HAVE_INTTYPES_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
@%:@undef HAVE_STDINT_H])
m4trace:configure.ac:15: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
@%:@undef HAVE_UNISTD_H])
m4trace:configure.ac:38: -1- _m4_warn([obsolete], [The macro `AM_ENABLE_SHARED' is obsolete.
You should run autoupdate.], [m4/ltoptions.m4:203: AM_ENABLE_SHARED is expanded from...
configure.ac:38: the top level])
m4trace:configure.ac:39: -1- _m4_warn([obsolete], [The macro `AM_DISABLE_STATIC' is obsolete.
You should run autoupdate.], [m4/ltoptions.m4:258: AM_DISABLE_STATIC is expanded from...
configure.ac:39: the top level])
m4trace:configure.ac:40: -1- LT_INIT([dlopen])
m4trace:configure.ac:40: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$])
m4trace:configure.ac:40: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])
m4trace:configure.ac:40: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
m4trace:configure.ac:40: -1- AC_SUBST([LIBTOOL])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([LIBTOOL])
m4trace:configure.ac:40: -1- m4_pattern_allow([^LIBTOOL$])
m4trace:configure.ac:40: -1- AC_CANONICAL_HOST
m4trace:configure.ac:40: -1- AC_CANONICAL_BUILD
m4trace:configure.ac:40: -1- AC_REQUIRE_AUX_FILE([config.sub])
m4trace:configure.ac:40: -1- AC_REQUIRE_AUX_FILE([config.guess])
m4trace:configure.ac:40: -1- AC_SUBST([build], [$ac_cv_build])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([build])
m4trace:configure.ac:40: -1- m4_pattern_allow([^build$])
m4trace:configure.ac:40: -1- AC_SUBST([build_cpu], [$[1]])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([build_cpu])
m4trace:configure.ac:40: -1- m4_pattern_allow([^build_cpu$])
m4trace:configure.ac:40: -1- AC_SUBST([build_vendor], [$[2]])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([build_vendor])
m4trace:configure.ac:40: -1- m4_pattern_allow([^build_vendor$])
m4trace:configure.ac:40: -1- AC_SUBST([build_os])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([build_os])
m4trace:configure.ac:40: -1- m4_pattern_allow([^build_os$])
m4trace:configure.ac:40: -1- AC_SUBST([host], [$ac_cv_host])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([host])
m4trace:configure.ac:40: -1- m4_pattern_allow([^host$])
m4trace:configure.ac:40: -1- AC_SUBST([host_cpu], [$[1]])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([host_cpu])
m4trace:configure.ac:40: -1- m4_pattern_allow([^host_cpu$])
m4trace:configure.ac:40: -1- AC_SUBST([host_vendor], [$[2]])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([host_vendor])
m4trace:configure.ac:40: -1- m4_pattern_allow([^host_vendor$])
m4trace:configure.ac:40: -1- AC_SUBST([host_os])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([host_os])
m4trace:configure.ac:40: -1- m4_pattern_allow([^host_os$])
m4trace:configure.ac:40: -1- AC_SUBST([SED])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([SED])
m4trace:configure.ac:40: -1- m4_pattern_allow([^SED$])
m4trace:configure.ac:40: -1- AC_SUBST([FGREP])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([FGREP])
m4trace:configure.ac:40: -1- m4_pattern_allow([^FGREP$])
m4trace:configure.ac:40: -1- AC_SUBST([GREP])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([GREP])
m4trace:configure.ac:40: -1- m4_pattern_allow([^GREP$])
m4trace:configure.ac:40: -1- AC_SUBST([LD])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([LD])
m4trace:configure.ac:40: -1- m4_pattern_allow([^LD$])
m4trace:configure.ac:40: -1- AC_SUBST([DUMPBIN])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([DUMPBIN])
m4trace:configure.ac:40: -1- m4_pattern_allow([^DUMPBIN$])
m4trace:configure.ac:40: -1- AC_SUBST([ac_ct_DUMPBIN])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN])
m4trace:configure.ac:40: -1- m4_pattern_allow([^ac_ct_DUMPBIN$])
m4trace:configure.ac:40: -1- AC_SUBST([DUMPBIN])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([DUMPBIN])
m4trace:configure.ac:40: -1- m4_pattern_allow([^DUMPBIN$])
m4trace:configure.ac:40: -1- AC_SUBST([NM])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([NM])
m4trace:configure.ac:40: -1- m4_pattern_allow([^NM$])
m4trace:configure.ac:40: -1- AC_SUBST([LN_S], [$as_ln_s])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([LN_S])
m4trace:configure.ac:40: -1- m4_pattern_allow([^LN_S$])
m4trace:configure.ac:40: -1- AC_SUBST([OBJDUMP])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([OBJDUMP])
m4trace:configure.ac:40: -1- m4_pattern_allow([^OBJDUMP$])
m4trace:configure.ac:40: -1- AC_SUBST([OBJDUMP])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([OBJDUMP])
m4trace:configure.ac:40: -1- m4_pattern_allow([^OBJDUMP$])
m4trace:configure.ac:40: -1- AC_SUBST([DLLTOOL])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([DLLTOOL])
m4trace:configure.ac:40: -1- m4_pattern_allow([^DLLTOOL$])
m4trace:configure.ac:40: -1- AC_SUBST([DLLTOOL])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([DLLTOOL])
m4trace:configure.ac:40: -1- m4_pattern_allow([^DLLTOOL$])
m4trace:configure.ac:40: -1- AC_SUBST([AR])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([AR])
m4trace:configure.ac:40: -1- m4_pattern_allow([^AR$])
m4trace:configure.ac:40: -1- AC_SUBST([ac_ct_AR])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([ac_ct_AR])
m4trace:configure.ac:40: -1- m4_pattern_allow([^ac_ct_AR$])
m4trace:configure.ac:40: -1- AC_SUBST([STRIP])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([STRIP])
m4trace:configure.ac:40: -1- m4_pattern_allow([^STRIP$])
m4trace:configure.ac:40: -1- AC_SUBST([RANLIB])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([RANLIB])
m4trace:configure.ac:40: -1- m4_pattern_allow([^RANLIB$])
m4trace:configure.ac:40: -1- m4_pattern_allow([LT_OBJDIR])
m4trace:configure.ac:40: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR])
m4trace:configure.ac:40: -1- m4_pattern_allow([^LT_OBJDIR$])
m4trace:configure.ac:40: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
@%:@undef LT_OBJDIR])
m4trace:configure.ac:40: -1- LT_SUPPORTED_TAG([CC])
m4trace:configure.ac:40: -1- AC_SUBST([MANIFEST_TOOL])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([MANIFEST_TOOL])
m4trace:configure.ac:40: -1- m4_pattern_allow([^MANIFEST_TOOL$])
m4trace:configure.ac:40: -1- AC_SUBST([DSYMUTIL])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([DSYMUTIL])
m4trace:configure.ac:40: -1- m4_pattern_allow([^DSYMUTIL$])
m4trace:configure.ac:40: -1- AC_SUBST([NMEDIT])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([NMEDIT])
m4trace:configure.ac:40: -1- m4_pattern_allow([^NMEDIT$])
m4trace:configure.ac:40: -1- AC_SUBST([LIPO])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([LIPO])
m4trace:configure.ac:40: -1- m4_pattern_allow([^LIPO$])
m4trace:configure.ac:40: -1- AC_SUBST([OTOOL])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([OTOOL])
m4trace:configure.ac:40: -1- m4_pattern_allow([^OTOOL$])
m4trace:configure.ac:40: -1- AC_SUBST([OTOOL64])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([OTOOL64])
m4trace:configure.ac:40: -1- m4_pattern_allow([^OTOOL64$])
m4trace:configure.ac:40: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
@%:@undef HAVE_DLFCN_H])
m4trace:configure.ac:40: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H])
m4trace:configure.ac:40: -1- m4_pattern_allow([^HAVE_DLFCN_H$])
m4trace:configure.ac:40: -1- LT_SUPPORTED_TAG([CXX])
m4trace:configure.ac:40: -1- AC_SUBST([CXXCPP])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([CXXCPP])
m4trace:configure.ac:40: -1- m4_pattern_allow([^CXXCPP$])
m4trace:configure.ac:40: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.ac:40: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.ac:40: -1- AC_SUBST([CXXCPP])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([CXXCPP])
m4trace:configure.ac:40: -1- m4_pattern_allow([^CXXCPP$])
m4trace:configure.ac:40: -1- AC_SUBST([LD])
m4trace:configure.ac:40: -1- AC_SUBST_TRACE([LD])
m4trace:configure.ac:40: -1- m4_pattern_allow([^LD$])
m4trace:configure.ac:42: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: unrecognized option: $[1]
Try \`$[0] --help' for more information.], [m4/libtool.m4:609: LT_OUTPUT is expanded from...
configure.ac:42: the top level])
m4trace:configure.ac:42: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: unrecognized argument: $[1]
Try \`$[0] --help' for more information.], [m4/libtool.m4:609: LT_OUTPUT is expanded from...
configure.ac:42: the top level])
m4trace:configure.ac:42: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])
m4trace:configure.ac:46: -1- AC_SUBST([SO_VERSION], ["0:0:0"])
m4trace:configure.ac:46: -1- AC_SUBST_TRACE([SO_VERSION])
m4trace:configure.ac:46: -1- m4_pattern_allow([^SO_VERSION$])
m4trace:configure.ac:48: -1- AC_SUBST([LIBTOOL_DEPS])
m4trace:configure.ac:48: -1- AC_SUBST_TRACE([LIBTOOL_DEPS])
m4trace:configure.ac:48: -1- m4_pattern_allow([^LIBTOOL_DEPS$])
m4trace:configure.ac:52: -1- AC_CONFIG_FILES([Makefile src/Makefile src/fonts/Makefile doc/Makefile test/Makefile])
m4trace:configure.ac:62: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBGPM])
m4trace:configure.ac:62: -1- m4_pattern_allow([^HAVE_LIBGPM$])
m4trace:configure.ac:67: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.ac:67: -1- m4_pattern_allow([^LIB@&t@OBJS$])
m4trace:configure.ac:67: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([LTLIBOBJS])
m4trace:configure.ac:67: -1- m4_pattern_allow([^LTLIBOBJS$])
m4trace:configure.ac:67: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])
m4trace:configure.ac:67: -1- AC_SUBST([am__EXEEXT_TRUE])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE])
m4trace:configure.ac:67: -1- m4_pattern_allow([^am__EXEEXT_TRUE$])
m4trace:configure.ac:67: -1- AC_SUBST([am__EXEEXT_FALSE])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE])
m4trace:configure.ac:67: -1- m4_pattern_allow([^am__EXEEXT_FALSE$])
m4trace:configure.ac:67: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE])
m4trace:configure.ac:67: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([top_builddir])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([top_build_prefix])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([srcdir])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([abs_srcdir])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([top_srcdir])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([abs_top_srcdir])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([builddir])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([abs_builddir])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([abs_top_builddir])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([INSTALL])
m4trace:configure.ac:67: -1- AC_SUBST_TRACE([MKDIR_P])
m4trace:configure.ac:67: -1- AC_REQUIRE_AUX_FILE([ltmain.sh])

File diff suppressed because it is too large Load Diff

144
build.sh
View File

@ -1,20 +1,148 @@
#!/bin/sh
#CXX="clang++"
PREFIX="/usr"
RED="\\033[0;31m"
GREEN="\\033[0;32m"
NORMAL="\\033[m"
SRCDIR="$(dirname "$0")"
test -n "$SRCDIR" || SRCDIR=.
cd "$SRCDIR" || exit
# Get number of logical processor cores
if command -v getconf >/dev/null 2>&1
then
CPU_COUNT="$(getconf _NPROCESSORS_ONLN 2>/dev/null || getconf NPROCESSORS_ONLN 2>/dev/null)" || CPU_COUNT="0"
fi
if [ "$CPU_COUNT" -eq 0 ]
then
if command -v nproc >/dev/null 2>&1
then
CPU_COUNT="$(nproc 2>/dev/null)" || CPU_COUNT="0"
fi
fi
test "$CPU_COUNT" -eq 0 && CPU_COUNT=1
if [ -n "$1" ]
then
if [ ! -f ./configure ]
then
if command -v autoreconf >/dev/null
then
autoreconf --install --force
else
echo "Build failed, please install autoconf first"
exit 255
fi
fi
fi
# Build commands
case "$1" in
"--help"|"help")
echo "Usage: $0 {help|debug|release}"
exit 1
"--release"|"release")
if ! ./configure --prefix="$PREFIX" CXXFLAGS="-O3" # "-flto -fno-rtti"
then
echo "${RED}Configure failed!${NORMAL}" 1>&2
exit 255
fi
;;
"--debug"|"debug")
./configure CPPFLAGS="-DDEBUG" CXXFLAGS="-g -O0 -DDEBUG -W -Wall -pedantic"
if ! ./configure --prefix="$PREFIX" CPPFLAGS="-DDEBUG" CXXFLAGS="-g -O0 -DDEBUG -W -Wall -pedantic"
then
echo "${RED}Configure failed!${NORMAL}" 1>&2
exit 255
fi
;;
"--fulldebug"|"fulldebug")
if ! ./configure --prefix="$PREFIX" CPPFLAGS="-DDEBUG" CXXFLAGS="-g -O0 -DDEBUG -W -Wall -Weffc++ -pedantic -pedantic-errors -Wextra -Wformat-nonliteral -Wformat-security -Wformat-y2k -Wimport -Winit-self -Winvalid-pch -Wlong-long -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-include-dirs -Wmissing-noreturn -Wpacked -Wparentheses -Wpointer-arith -Wredundant-decls -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -fstack-protector -Wstrict-aliasing -Wstrict-aliasing=3 -Wswitch -Wswitch-enum -Wtrigraphs -Wuninitialized -Wunknown-pragmas -Wunreachable-code -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-value -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wsign-promo -Woverloaded-virtual -Wstrict-null-sentinel -fext-numeric-literals -Wreorder -Wnoexcept -Wnarrowing -Wliteral-suffix -Wctor-dtor-privacy -ftree-loop-distribute-patterns -Wmemset-transposed-args -Wno-format-nonliteral"
then
echo "${RED}Configure failed!${NORMAL}" 1>&2
exit 255
fi
;;
"--profile"|"profile")
./configure CPPFLAGS="-DDEBUG" CXXFLAGS="-pg -O0 -DDEBUG -W -Wall -pedantic"
if ! ./configure --prefix="$PREFIX" CPPFLAGS="-DDEBUG" CXXFLAGS="-g -pg -O0 -DDEBUG -W -Wall -pedantic"
then
echo "${RED}Configure failed!${NORMAL}" 1>&2
exit 255
fi
;;
"--release"|"release"|*)
./configure
"--cpu-profiler"|"cpu-profiler")
if ! ./configure --prefix="$PREFIX" --with-profiler
then
echo "${RED}Configure failed!${NORMAL}" 1>&2
exit 255
fi
;;
"--unit-test"|"unit-test")
if ! ./configure --prefix="$PREFIX" CPPFLAGS="-DDEBUG" CXXFLAGS="-g -O0 -DDEBUG -DUNIT_TEST" --with-unit-test
then
echo "${RED}Configure failed!${NORMAL}" 1>&2
exit 255
fi
;;
"--coverage"|"coverage")
if ! ./configure --prefix="$PREFIX" CPPFLAGS="-DDEBUG" CXXFLAGS="-g -O0 -DDEBUG -DUNIT_TEST" --with-unit-test --with-gcov
then
echo "${RED}Configure failed!${NORMAL}" 1>&2
exit 255
fi
;;
"--help"|"help"|*)
echo "Usage:"
echo " $(basename "$0") {COMMAND}"
echo ""
echo "Commands:"
echo " release Compile for release"
echo " debug Compile with debug option"
echo " fulldebug Compile with all warning options"
echo " profile Compile with profile option (analysis with gprof)"
echo " unit-test Compile with CppUnit testing"
echo " cpu-profiler Link with Google cpu performance profiler"
echo " coverage Compile with options for coverage analysis with gcov"
echo " help Show this help"
exit
;;
esac
make
JOBS="$((CPU_COUNT/2))"
test "$JOBS" -eq 0 && JOBS=1
if make -h 2<&1 | grep -q "\\-\\-jobs"
then
MAKE="make V=1 -j$JOBS"
else
MAKE="make V=1"
fi
if $MAKE
then
printf '%bSuccessful compiled%b\n' "${GREEN}" "${NORMAL}"
else
printf '%bError on compile!%b\n' "${RED}" "${NORMAL}" 1>&2
exit 1
fi
if [ "$1" = "--unit-test" ] \
|| [ "$1" = "unit-test" ] \
|| [ "$1" = "--coverage" ] \
|| [ "$1" = "coverage" ]
then
rm test/*.log 2>/dev/null
cd test && make check-TESTS
cat ./*.log 2>/dev/null
cd .. || exit
fi
# make install

5
codecov.yml Normal file
View File

@ -0,0 +1,5 @@
coverage:
status:
project: on
patch: off

1568
config.guess vendored

File diff suppressed because it is too large Load Diff

1788
config.sub vendored

File diff suppressed because it is too large Load Diff

19329
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,15 +1,21 @@
#----------------------------------------------------------------------
# configure.ac - the Final Cut library
# configure.ac - FINAL CUT library
#----------------------------------------------------------------------
# Process this file with autoconf to produce a configure script.
AC_INIT([finalcut], [0.1.0b])
AC_INIT([finalcut], [0.7.2])
AC_CONFIG_HEADER([config.h])
AX_PREFIX_CONFIG_H([src/include/final/fconfig.h], [F])
AC_CONFIG_SRCDIR([src/fobject.cpp])
AC_USE_SYSTEM_EXTENSIONS
AM_INIT_AUTOMAKE
AC_PROG_CC
AC_PROG_CXX
m4_pattern_forbid([^AX_CHECK_COMPILE_FLAG\b],
[Macro AX_CHECK_COMPILE_FLAG not found. Please install GNU autoconf-archive])
# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS( \
@ -22,6 +28,7 @@ AC_CHECK_HEADERS( \
langinfo.h \
term.h \
termios.h \
ttyent.h \
unistd.h \
cmath \
csignal \
@ -31,37 +38,103 @@ AC_CHECK_HEADERS( \
queue \
vector)
# Checks for library functions.
AC_CHECK_FUNCS( \
getuid \
geteuid \
getttynam \
select \
strdup \
strstr \
vsnprintf )
# Checks for 'tgetent'
AC_SEARCH_LIBS([tgetent], [termcap tinfo curses ncurses])
AC_SEARCH_LIBS([tgetent], [terminfo mytinfo termlib termcap tinfo ncurses curses])
# Checks for 'tparm'
AC_SEARCH_LIBS([tparm], [terminfo mytinfo termlib termcap tinfo ncurses curses])
# Checks for libtool
AM_ENABLE_SHARED
AM_DISABLE_STATIC
AC_ENABLE_SHARED
AC_ENABLE_STATIC
AC_LANG([C++])
LT_INIT([dlopen])
LT_LANG([C++])
LT_OUTPUT
### This defines the version number of the installed .so files
### Update this value for every release! (A:B:C will map to foo.so.(A-C).C.B)
### using libtool's versioning system.
AC_SUBST(SO_VERSION, ["0:0:0"])
AC_SUBST(SO_VERSION, ["7:2:7"])
AC_SUBST([LIBTOOL_DEPS])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_FILES([Makefile src/Makefile src/fonts/Makefile doc/Makefile test/Makefile])
AC_CONFIG_FILES([Makefile
src/Makefile
fonts/Makefile
doc/Makefile
examples/Makefile
test/Makefile
finalcut.spec
finalcut.pc])
# Check for C++11 support
AX_CHECK_COMPILE_FLAG([[-std=c++11]],,
[AC_MSG_ERROR([compiler did not accept -std=c++11])])
# use GPM (General Purpose Mouse)
AC_ARG_WITH([gpm],
[AS_HELP_STRING([--without-gpm], [Disable GPM mouse support])],
[],
[with_gpm=yes])
if test "x$with_gpm" != "xno"
then
AC_CHECK_LIB([gpm],
[Gpm_Open],
[AC_DEFINE([HAVE_LIBGPM], 1, [Define to 1 if GPM mouse is enabled])
LIBS="$LIBS -lgpm"])
fi
# profiling
AC_ARG_WITH([profiler],
[AS_HELP_STRING([--with-profiler], [build extra google profiler binaries])],
[],
[with_profiler=no])
if test "x$with_profiler" != "xno"
then
AC_CHECK_LIB([profiler],
[ProfilerFlush],
[LIBS="$LIBS -lprofiler"])
fi
# unit test
AC_ARG_WITH([unit-test],
[AS_HELP_STRING([--with-unit-test], [build unit tests])],
[],
[with_unit_test=no])
if test "x$with_unit_test" != "xno"
then
AC_MSG_NOTICE(enabled cppunit test)
PKG_CHECK_MODULES(CPPUNIT,
[cppunit > 1.12.0])
AM_CONDITIONAL(CPPUNIT_TEST, [test "1" = "1"])
else
AM_CONDITIONAL(CPPUNIT_TEST, [test "1" = "0"])
fi
# code coverage
AC_ARG_WITH([gcov],
[AS_HELP_STRING([--with-gcov], [build for code coverage testing])],
[],
[with_gcov=no])
if test "x$with_gcov" != "xno"
then
AC_CHECK_LIB([gcov],
[main],
[AC_DEFINE(HAVE_LIBGPM) LIBS="$LIBS -lgpm"])
[LIBS="$LIBS -lgcov"])
AM_CXXFLAGS="-fprofile-arcs -ftest-coverage $AM_CXXFLAGS"
AC_SUBST([AM_CXXFLAGS])
fi
AC_OUTPUT

47
debian/changelog vendored Normal file
View File

@ -0,0 +1,47 @@
finalcut (0.7.1) unstable; urgency=low
* Release (version 0.7.1)
-- Markus Gans <guru.mail@muenster.de> Sat, 14 Nov 2020 20:07:39 +0100
finalcut (0.7.0) unstable; urgency=low
* Release (version 0.7.0)
-- Markus Gans <guru.mail@muenster.de> Sat, 07 Nov 2020 11:24:39 +0100
finalcut (0.6.0) unstable; urgency=low
* Release (version 0.6.0)
-- Markus Gans <guru.mail@muenster.de> Mon, 14 Oct 2019 01:49:57 +0100
finalcut (0.5.0) unstable; urgency=low
* Release (version 0.5.0)
-- Markus Gans <guru.mail@muenster.de> Sun, 25 Nov 2018 01:03:36 +0100
finalcut (0.4.0) unstable; urgency=low
* Release (version 0.4.0)
-- Markus Gans <guru.mail@muenster.de> Sat, 04 Nov 2017 08:53:19 +0100
finalcut (0.3.0) unstable; urgency=low
* Release (version 0.3.0)
-- Markus Gans <guru.mail@muenster.de> Sun, 27 Nov 2016 15:00:41 +0100
finalcut (0.2.0) unstable; urgency=low
* Release (version 0.2.0)
-- Markus Gans <guru.mail@muenster.de> Sat, 19 Dec 2015 22:01:48 +0100
finalcut (0.1.1) unstable; urgency=low
* Initial Release (version 0.1.1)
-- Markus Gans <guru.mail@muenster.de> Fri, 18 Sep 2015 23:35:57 +0100

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
9

103
debian/control vendored Normal file
View File

@ -0,0 +1,103 @@
Source: finalcut
Maintainer: Markus Gans <guru.mail@muenster.de>
Section: libs
Priority: standard
Build-Depends:
debhelper (>= 5)
, autotools-dev
, dpkg-dev
, g++
, pkg-config
, libgpm-dev [linux-any]
, libtinfo-dev (>= 5.3)
, libncurses5-dev (>= 5.3)
Standards-Version: 3.8.4
Homepage: https://github.com/gansm/finalcut/
Package: libfinal0
Architecture: any
Pre-Depends: ${misc:Pre-Depends}
Multi-Arch: same
Depends:
, ${shlibs:Depends}
, ${misc:Depends}
Suggests:
fonts-libfinal
, coreutils
, ncurses-term
, vim-common
Description: Shared library for the final cut widget toolkit
FINAL CUT is a class library and widget toolkit with full mouse
support for creating a text-based user interface. The library supports
the programmer to develop an application for the text console. It allows
the simultaneous handling of multiple windows on the screen.
.
The C++ class design was inspired by the Qt framework. It provides
common controls like dialog windows, push buttons, check boxes,
radio buttons, input lines, list boxes, status bars and so on.
.
This package contains the shared library necessary to run programs
compiled with the final cut.
Package: libfinal-dev
Architecture: any
Section: libdevel
Priority: optional
Multi-Arch: same
Depends:
libfinal0 (= ${binary:Version})
, ${misc:Depends}
, libtinfo-dev
, libncurses5-dev
Description: Developer's library for the final cut widget toolkit
FINAL CUT is a class library and widget toolkit with full mouse
support for creating a text-based user interface. The library supports
the programmer to develop an application for the text console. It allows
the simultaneous handling of multiple windows on the screen.
.
The C++ class design was inspired by the Qt framework. It provides
common controls like dialog windows, push buttons, check boxes,
radio buttons, input lines, list boxes, status bars and so on.
.
This package contains the static library and symbolic link that developers
using the final cut widget toolkit will need. Packages should not
build-depend on this package.
Package: libfinal-examples
Architecture: any
Section: misc
Priority: optional
Multi-Arch: same
Depends:
libfinal0 (= ${binary:Version})
, ${misc:Depends}
, libtinfo-dev
, libncurses5-dev
Description: Test and example programs for the final cut widget toolkit
FINAL CUT is a class library and widget toolkit with full mouse
support for creating a text-based user interface. The library supports
the programmer to develop an application for the text console. It allows
the simultaneous handling of multiple windows on the screen.
.
The C++ class design was inspired by the Qt framework. It provides
common controls like dialog windows, push buttons, check boxes,
radio buttons, input lines, list boxes, status bars and so on.
.
This package contains programs that demonstrate the possibilities of
the final cut library.
Package: fonts-libfinal
Architecture: all
Multi-Arch: foreign
Section: fonts
Depends:
${misc:Depends}
, xfonts-utils
Suggests:
xserver | xfs
, grep
, sed
, gzip
Description: X11 bitmap font for FINAL CUT
Special X11 bitmap font used by FINAL CUT to display graphic objects.

26
debian/copyright vendored Normal file
View File

@ -0,0 +1,26 @@
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: finalcut
source https://github.com/gansm/finalcut
Files: *
Copyright: 2017, Markus Gans <guru.mail@muenster.de>
License: LGPL-3
License: LGPL-3
FINAL CUT is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
.
FINAL CUT 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 Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
.
On Debian systems, the full text of the GNU Lesser General Public License
Version 3 can be found in the file
`/usr/share/common-licenses/LGPL-3`.

9
debian/fonts-libfinal.docs vendored Normal file
View File

@ -0,0 +1,9 @@
AUTHORS
COPYING
COPYING.LESSER
fonts/newfont.txt
doc/newfont-8x16.txt
doc/newfont-9x16.txt
doc/newfont1.png
doc/newfont2.png
doc/calculator.png

3
debian/fonts-libfinal.install vendored Normal file
View File

@ -0,0 +1,3 @@
fonts/8x16graph.pcf.gz /usr/share/fonts/X11/misc/
fonts/xfonts-finalcut-newfont.alias /etc/X11/fonts/misc/
fonts/40-finalcut-newfont.conf usr/share/fontconfig/conf.avail

1
debian/fonts-libfinal.links vendored Normal file
View File

@ -0,0 +1 @@
usr/share/fontconfig/conf.avail/40-finalcut-newfont.conf etc/fonts/conf.d/40-finalcut-newfont.conf

57
debian/libfinal-dev.docs vendored Normal file
View File

@ -0,0 +1,57 @@
AUTHORS
COPYING
COPYING.LESSER
ChangeLog
README.md
doc/benchmark.md
doc/calculator.png
doc/calendar-draft.png
doc/class-diagram.txt
doc/class_template.cpp
doc/class_template.h
doc/coding-style.txt
doc/console_codes-manual.sh
doc/console_ioctl-manual.sh
doc/faq.md
doc/fileopen-dialog.png
doc/final-cut-application-structure.svg
doc/final-cut-widget-tree.svg
doc/first-steps_callback-function.cpp.png
doc/first-steps_callback-lambda.cpp.png
doc/first-steps_callback-method.cpp.png
doc/first-steps_dialog.cpp.png
doc/first-steps_emit-signal.cpp.png
doc/first-steps.md
doc/first-steps_memory.cpp.png
doc/first-steps_scrollview.cpp.png
doc/first-steps_size-adjustment.cpp.png
doc/first-steps_timer.cpp.png
doc/first-steps_user-event.cpp.png
doc/framebuffer.txt
doc/Mandelbrot.png
doc/mouse-control.md
doc/ncurses.supp
doc/progress-bar.png
doc/readme.txt
doc/coding-style.txt
doc/terminfo-capabilities.sh
doc/terminfo-manual.sh
doc/textview.png
doc/TODO
doc/user-theme-bee-palette.svg
doc/user-theme-fc16-dark-palette.svg
doc/user-theme-fc16-palette.svg
doc/user-theme-fc8-palette.svg
doc/user-theme.md
doc/user-theme.png
doc/user-theme-vga-palette.svg
doc/vga.txt
doc/virtual-terminal.txt
doc/vt100_line_drawing_graphics.png
doc/widget-coordinates.svg
doc/widget-geometry.svg
doc/widget-lengths.svg
doc/xgraphics
doc/xterm.txt
fonts/newfont.txt

4
debian/libfinal-dev.install vendored Normal file
View File

@ -0,0 +1,4 @@
usr/include/final/*.h
usr/lib/*/lib*.la
usr/lib/*/lib*.a
usr/lib/*/pkgconfig/*.pc

5
debian/libfinal-examples.install vendored Normal file
View File

@ -0,0 +1,5 @@
doc/readme.txt usr/lib/libfinal/examples
examples/.libs/* usr/lib/libfinal/examples
examples/*.cpp usr/lib/libfinal/examples
examples/Makefile.clang usr/lib/libfinal/examples
examples/Makefile.gcc usr/lib/libfinal/examples

2
debian/libfinal-examples.links vendored Normal file
View File

@ -0,0 +1,2 @@
usr/lib/libfinal/examples usr/share/doc/libfinal-examples/examples
usr/lib/libfinal/examples/Makefile.gcc usr/lib/libfinal/examples/Makefile

5
debian/libfinal0.docs vendored Normal file
View File

@ -0,0 +1,5 @@
AUTHORS
COPYING
COPYING.LESSER
ChangeLog
doc/readme.txt

2
debian/libfinal0.install vendored Normal file
View File

@ -0,0 +1,2 @@
usr/lib/*/lib*.so
usr/lib/*/lib*.so.*

1
debian/libfinal0.shlibs vendored Normal file
View File

@ -0,0 +1 @@
libfinal 0 libfinal0 (>= 0.7.2)

3791
debian/libfinal0.symbols vendored Normal file

File diff suppressed because it is too large Load Diff

34
debian/rules vendored Executable file
View File

@ -0,0 +1,34 @@
#!/usr/bin/make -f
# See debhelper(7) (uncomment to enable)
# output every command that modifies files on the build system.
#DH_VERBOSE = 1
# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/*
DPKG_EXPORT_BUILDFLAGS = 1
include /usr/share/dpkg/default.mk
# see FEATURE AREAS in dpkg-buildflags(1)
#export DEB_BUILD_MAINT_OPTIONS = hardening=+all
# see ENVIRONMENT in dpkg-buildflags(1)
# package maintainers to append CFLAGS
#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
# package maintainers to append LDFLAGS
#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
# main packaging script based on dh7 syntax
%:
sed -i 's/doc\///g' README.md
test -f fonts/fonts.alias && cp fonts/fonts.alias fonts/xfonts-finalcut-newfont.alias || true
dh $@ --with autotools-dev
# debmake generated override targets
# This is example for Cmake (See http://bugs.debian.org/641051 )
#override_dh_auto_configure:
# dh_auto_configure -- \
# -DCMAKE_LIBRARY_PATH=$(DEB_HOST_MULTIARCH)

1
debian/source/format vendored Normal file
View File

@ -0,0 +1 @@
3.0 (native)

2
debian/watch vendored Normal file
View File

@ -0,0 +1,2 @@
version=3
opts=passive https://github.com/gansm/finalcut/archive/([\d.]+)\.tar.gz

791
depcomp
View File

@ -1,791 +0,0 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2013-05-30.07; # UTC
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
# 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 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try '$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by 'PROGRAMS ARGS'.
object Object file output by 'PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputting dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
# Get the directory component of the given path, and save it in the
# global variables '$dir'. Note that this directory component will
# be either empty or ending with a '/' character. This is deliberate.
set_dir_from ()
{
case $1 in
*/*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;;
*) dir=;;
esac
}
# Get the suffix-stripped basename of the given path, and save it the
# global variable '$base'.
set_base_from ()
{
base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'`
}
# If no dependency file was actually created by the compiler invocation,
# we still have to create a dummy depfile, to avoid errors with the
# Makefile "include basename.Plo" scheme.
make_dummy_depfile ()
{
echo "#dummy" > "$depfile"
}
# Factor out some common post-processing of the generated depfile.
# Requires the auxiliary global variable '$tmpdepfile' to be set.
aix_post_process_depfile ()
{
# If the compiler actually managed to produce a dependency file,
# post-process it.
if test -f "$tmpdepfile"; then
# Each line is of the form 'foo.o: dependency.h'.
# Do two passes, one to just change these to
# $object: dependency.h
# and one to simply output
# dependency.h:
# which is needed to avoid the deleted-header problem.
{ sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile"
sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile"
} > "$depfile"
rm -f "$tmpdepfile"
else
make_dummy_depfile
fi
}
# A tabulation character.
tab=' '
# A newline character.
nl='
'
# Character ranges might be problematic outside the C locale.
# These definitions help.
upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ
lower=abcdefghijklmnopqrstuvwxyz
digits=0123456789
alpha=${upper}${lower}
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Avoid interferences from the environment.
gccflag= dashmflag=
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
cygpath_u="cygpath -u -f -"
if test "$depmode" = msvcmsys; then
# This is just like msvisualcpp but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
cygpath_u='sed s,\\\\,/,g'
depmode=msvisualcpp
fi
if test "$depmode" = msvc7msys; then
# This is just like msvc7 but w/o cygpath translation.
# Just convert the backslash-escaped backslashes to single forward
# slashes to satisfy depend.m4
cygpath_u='sed s,\\\\,/,g'
depmode=msvc7
fi
if test "$depmode" = xlc; then
# IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information.
gccflag=-qmakedep=gcc,-MF
depmode=gcc
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
## the command line argument order; so add the flags where they
## appear in depend2.am. Note that the slowdown incurred here
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
for arg
do
case $arg in
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
*) set fnord "$@" "$arg" ;;
esac
shift # fnord
shift # $arg
done
"$@"
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
## (see the conditional assignment to $gccflag above).
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say). Also, it might not be
## supported by the other compilers which use the 'gcc' depmode.
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
# The second -e expression handles DOS-style file names with drive
# letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the "deleted header file" problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
## Some versions of gcc put a space before the ':'. On the theory
## that the space means something, we add a space to the output as
## well. hp depmode also adds that space, but also prefixes the VPATH
## to the object. Take care to not repeat it in the output.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
| sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like '#:fec' to the end of the
# dependency line.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \
| tr "$nl" ' ' >> "$depfile"
echo >> "$depfile"
# The second pass generates a dummy entry for each header file.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> "$depfile"
else
make_dummy_depfile
fi
rm -f "$tmpdepfile"
;;
xlc)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts '$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
set_dir_from "$object"
set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.u
tmpdepfile2=$base.u
tmpdepfile3=$dir.libs/$base.u
"$@" -Wc,-M
else
tmpdepfile1=$dir$base.u
tmpdepfile2=$dir$base.u
tmpdepfile3=$dir$base.u
"$@" -M
fi
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
do
test -f "$tmpdepfile" && break
done
aix_post_process_depfile
;;
tcc)
# tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26
# FIXME: That version still under development at the moment of writing.
# Make that this statement remains true also for stable, released
# versions.
# It will wrap lines (doesn't matter whether long or short) with a
# trailing '\', as in:
#
# foo.o : \
# foo.c \
# foo.h \
#
# It will put a trailing '\' even on the last line, and will use leading
# spaces rather than leading tabs (at least since its commit 0394caf7
# "Emit spaces for -MD").
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each non-empty line is of the form 'foo.o : \' or ' dep.h \'.
# We have to change lines of the first kind to '$object: \'.
sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile"
# And for each line of the second kind, we have to emit a 'dep.h:'
# dummy dependency, to avoid the deleted-header problem.
sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile"
rm -f "$tmpdepfile"
;;
## The order of this option in the case statement is important, since the
## shell code in configure will try each of these formats in the order
## listed in this file. A plain '-MD' option would be understood by many
## compilers, so we must ensure this comes after the gcc and icc options.
pgcc)
# Portland's C compiler understands '-MD'.
# Will always output deps to 'file.d' where file is the root name of the
# source file under compilation, even if file resides in a subdirectory.
# The object file name does not affect the name of the '.d' file.
# pgcc 10.2 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using '\' :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
set_dir_from "$object"
# Use the source, not the object, to determine the base name, since
# that's sadly what pgcc will do too.
set_base_from "$source"
tmpdepfile=$base.d
# For projects that build the same source file twice into different object
# files, the pgcc approach of using the *source* file root name can cause
# problems in parallel builds. Use a locking strategy to avoid stomping on
# the same $tmpdepfile.
lockdir=$base.d-lock
trap "
echo '$0: caught signal, cleaning up...' >&2
rmdir '$lockdir'
exit 1
" 1 2 13 15
numtries=100
i=$numtries
while test $i -gt 0; do
# mkdir is a portable test-and-set.
if mkdir "$lockdir" 2>/dev/null; then
# This process acquired the lock.
"$@" -MD
stat=$?
# Release the lock.
rmdir "$lockdir"
break
else
# If the lock is being held by a different process, wait
# until the winning process is done or we timeout.
while test -d "$lockdir" && test $i -gt 0; do
sleep 1
i=`expr $i - 1`
done
fi
i=`expr $i - 1`
done
trap - 1 2 13 15
if test $i -le 0; then
echo "$0: failed to acquire lock after $numtries attempts" >&2
echo "$0: check lockdir '$lockdir'" >&2
exit 1
fi
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \
| sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp2)
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
# compilers, which have integrated preprocessors. The correct option
# to use with these is +Maked; it writes dependencies to a file named
# 'foo.d', which lands next to the object file, wherever that
# happens to be.
# Much of this is similar to the tru64 case; see comments there.
set_dir_from "$object"
set_base_from "$object"
if test "$libtool" = yes; then
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir.libs/$base.d
"$@" -Wc,+Maked
else
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
"$@" +Maked
fi
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile"
# Add 'dependent.h:' lines.
sed -ne '2,${
s/^ *//
s/ \\*$//
s/$/:/
p
}' "$tmpdepfile" >> "$depfile"
else
make_dummy_depfile
fi
rm -f "$tmpdepfile" "$tmpdepfile2"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in 'foo.d' instead, so we check for that too.
# Subdirectories are respected.
set_dir_from "$object"
set_base_from "$object"
if test "$libtool" = yes; then
# Libtool generates 2 separate objects for the 2 libraries. These
# two compilations output dependencies in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir$base.o.d # libtool 1.5
tmpdepfile2=$dir.libs/$base.o.d # Likewise.
tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -ne 0; then
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
do
test -f "$tmpdepfile" && break
done
# Same post-processing that is required for AIX mode.
aix_post_process_depfile
;;
msvc7)
if test "$libtool" = yes; then
showIncludes=-Wc,-showIncludes
else
showIncludes=-showIncludes
fi
"$@" $showIncludes > "$tmpdepfile"
stat=$?
grep -v '^Note: including file: ' "$tmpdepfile"
if test $stat -ne 0; then
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
# The first sed program below extracts the file names and escapes
# backslashes for cygpath. The second sed program outputs the file
# name when reading, but also accumulates all include files in the
# hold buffer in order to output them again at the end. This only
# works with sed implementations that can handle large buffers.
sed < "$tmpdepfile" -n '
/^Note: including file: *\(.*\)/ {
s//\1/
s/\\/\\\\/g
p
}' | $cygpath_u | sort -u | sed -n '
s/ /\\ /g
s/\(.*\)/'"$tab"'\1 \\/p
s/.\(.*\) \\/\1:/
H
$ {
s/.*/'"$tab"'/
G
p
}' >> "$depfile"
echo >> "$depfile" # make sure the fragment doesn't end with a backslash
rm -f "$tmpdepfile"
;;
msvc7msys)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# Remove '-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for ':'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise.
"$@" $dashmflag |
sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this sed invocation
# correctly. Breaking it into two sed invocations is a workaround.
tr ' ' "$nl" < "$tmpdepfile" \
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
| sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no eat=no
for arg
do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
if test $eat = yes; then
eat=no
continue
fi
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-arch)
eat=yes ;;
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix=`echo "$object" | sed 's/^.*\././'`
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
# makedepend may prepend the VPATH from the source file name to the object.
# No need to regex-escape $object, excess matching of '.' is harmless.
sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process the last invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed '1,2d' "$tmpdepfile" \
| tr ' ' "$nl" \
| sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \
| sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
# Remove '-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E \
| sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
| sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test "X$1" != 'X--mode=compile'; do
shift
done
shift
fi
IFS=" "
for arg
do
case "$arg" in
-o)
shift
;;
$object)
shift
;;
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E 2>/dev/null |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile"
echo "$tab" >> "$depfile"
sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvcmsys)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:

View File

@ -1,23 +0,0 @@
fcntl(0, F_SETFL, O_RDWR|O_APPEND|O_LARGEFILE) = 0
select(1, [0], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
fcntl(0, F_SETFL, O_RDWR|O_APPEND|O_NONBLOCK|O_LARGEFILE) = 0
read(0, "", 1023) = 0
fcntl(0, F_SETFL, O_RDWR|O_APPEND|O_LARGEFILE) = 0
select(1, [0], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99998})
fcntl(0, F_SETFL, O_RDWR|O_APPEND|O_NONBLOCK|O_LARGEFILE) = 0
read(0, "", 1023) = 0
fcntl(0, F_SETFL, O_RDWR|O_APPEND|O_LARGEFILE) = 0
select(1, [0], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
fcntl(0, F_SETFL, O_RDWR|O_APPEND|O_NONBLOCK|O_LARGEFILE) = 0
read(0, "", 1023) = 0
fcntl(0, F_SETFL, O_RDWR|O_APPEND|O_LARGEFILE) = 0
select(1, [0], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
fcntl(0, F_SETFL, O_RDWR|O_APPEND|O_NONBLOCK|O_LARGEFILE) = 0
read(0, "", 1023) = 0
fcntl(0, F_SETFL, O_RDWR|O_APPEND|O_LARGEFILE) = 0
select(1, [0], NULL, NULL, {0, 100000}) = 1 (in [0], left {0, 99999})
fcntl(0, F_SETFL, O_RDWR|O_APPEND|O_NONBLOCK|O_LARGEFILE) = 0
read(0, "", 1023) = 0
fcntl(0, F_SETFL, O_RDWR|O_APPEND|O_LARGEFILE) = 0
^CProcess 7036 detached

View File

@ -1,44 +1,120 @@
#----------------------------------------------------------------------
# Makefile.am - the Final Cut library
# Makefile.am - FINAL CUT library
#----------------------------------------------------------------------
docdir = ${datadir}/doc/${PACKAGE}
EXTRA_DIST = \
benchmark.md \
build_openbsd.txt \
build_solaris.txt \
calendar-draft.png \
calculator.png \
class-diagram.txt \
class_template.cpp \
class_template.h \
console_codes-manual.sh \
console_ioctl-manual.sh \
faq.md \
fileopen-dialog.png \
menu-draft.png \
final-cut-application-structure.svg \
final-cut-widget-tree.svg \
first-steps.md \
first-steps_callback-function.cpp.png \
first-steps_callback-lambda.cpp.png \
first-steps_callback-method.cpp.png \
first-steps_dialog.cpp.png \
first-steps_emit-signal.cpp.png \
first-steps_memory.cpp.png \
first-steps_scrollview.cpp.png \
first-steps_size-adjustment.cpp.png \
first-steps_timer.cpp.png \
first-steps_user-event.cpp.png \
framebuffer.txt \
Mandelbrot.png \
mouse-control.md \
ncurses.supp \
newfont1.png \
newfont2.png \
newfont-8x16.txt \
newfont-9x16.txt \
progress-bar.png \
readme.txt \
coding-style.txt \
terminfo-capabilities.sh \
terminfo-manual.sh \
textview.png \
TODO \
user-theme.md \
user-theme.png \
user-theme-bee-palette.svg \
user-theme-fc16-dark-palette.svg \
user-theme-fc16-palette.svg \
user-theme-fc8-palette.svg \
user-theme-vga-palette.svg \
vga.txt \
vt100_line_drawing_graphics.png \
VTerm.txt \
virtual-terminal.txt \
widget-coordinates.svg \
widget-geometry.svg \
widget-lengths.svg \
xterm.txt \
xgraphics
doc_DATA = \
benchmark.md \
build_openbsd.txt \
build_solaris.txt \
calendar-draft.png \
calculator.png \
class-diagram.txt \
class_template.cpp \
class_template.h \
console_codes-manual.sh \
console_ioctl-manual.sh \
faq.md \
fileopen-dialog.png \
menu-draft.png \
final-cut-application-structure.svg \
final-cut-widget-tree.svg \
first-steps.md \
first-steps_callback-function.cpp.png \
first-steps_callback-lambda.cpp.png \
first-steps_callback-method.cpp.png \
first-steps_dialog.cpp.png \
first-steps_emit-signal.cpp.png \
first-steps_memory.cpp.png \
first-steps_scrollview.cpp.png \
first-steps_size-adjustment.cpp.png \
first-steps_timer.cpp.png \
first-steps_user-event.cpp.png \
framebuffer.txt \
Mandelbrot.png \
mouse-control.md \
ncurses.supp \
newfont1.png \
newfont2.png \
newfont-8x16.txt \
newfont-9x16.txt \
progress-bar.png \
readme.txt \
coding-style.txt \
terminfo-capabilities.sh \
terminfo-manual.sh \
textview.png \
TODO \
user-theme.md \
user-theme.png \
user-theme-bee-palette.svg \
user-theme-fc16-dark-palette.svg \
user-theme-fc16-palette.svg \
user-theme-fc8-palette.svg \
user-theme-vga-palette.svg \
vga.txt \
vt100_line_drawing_graphics.png \
VTerm.txt \
virtual-terminal.txt \
widget-coordinates.svg \
widget-geometry.svg \
widget-lengths.svg \
xterm.txt \
xgraphics

View File

@ -1,526 +0,0 @@
# Makefile.in generated by automake 1.13.4 from Makefile.am.
# @configure_input@
# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
#----------------------------------------------------------------------
# Makefile.am - the Final Cut library
#----------------------------------------------------------------------
VPATH = @srcdir@
am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
am__make_running_with_option = \
case $${target_option-} in \
?) ;; \
*) echo "am__make_running_with_option: internal error: invalid" \
"target option '$${target_option-}' specified" >&2; \
exit 1;; \
esac; \
has_opt=no; \
sane_makeflags=$$MAKEFLAGS; \
if $(am__is_gnu_make); then \
sane_makeflags=$$MFLAGS; \
else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
bs=\\; \
sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
| sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
fi; \
skip_next=no; \
strip_trailopt () \
{ \
flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
}; \
for flg in $$sane_makeflags; do \
test $$skip_next = yes && { skip_next=no; continue; }; \
case $$flg in \
*=*|--*) continue;; \
-*I) strip_trailopt 'I'; skip_next=yes;; \
-*I?*) strip_trailopt 'I';; \
-*O) strip_trailopt 'O'; skip_next=yes;; \
-*O?*) strip_trailopt 'O';; \
-*l) strip_trailopt 'l'; skip_next=yes;; \
-*l?*) strip_trailopt 'l';; \
-[dEDm]) skip_next=yes;; \
-[JT]) skip_next=yes;; \
esac; \
case $$flg in \
*$$target_option*) has_opt=yes; break;; \
esac; \
done; \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = doc
DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am TODO
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo " GEN " $@;
am__v_GEN_1 =
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 =
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
for p in $$list; do echo "$$p $$p"; done | \
sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
$(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
if (++n[$$2] == $(am__install_max)) \
{ print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
END { for (dir in files) print dir, files[dir] }'
am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
test -z "$$files" \
|| { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
am__installdirs = "$(DESTDIR)$(docdir)"
DATA = $(doc_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBTOOL_DEPS = @LIBTOOL_DEPS@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SO_VERSION = @SO_VERSION@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
EXTRA_DIST = \
calendar-draft.png \
class-diagram.txt \
console_codes-manual.sh \
console_ioctl-manual.sh \
fileopen-dialog.png \
menu-draft.png \
ncurses.supp \
newfont1.png \
newfont2.png \
progress-bar.png \
readme.txt \
terminfo-capabilities.sh \
terminfo-manual.sh \
textview.png \
TODO \
vt100_line_drawing_graphics.png \
VTerm.txt \
xgraphics
doc_DATA = \
calendar-draft.png \
class-diagram.txt \
console_codes-manual.sh \
console_ioctl-manual.sh \
fileopen-dialog.png \
menu-draft.png \
ncurses.supp \
newfont1.png \
newfont2.png \
progress-bar.png \
readme.txt \
terminfo-capabilities.sh \
terminfo-manual.sh \
textview.png \
TODO \
vt100_line_drawing_graphics.png \
VTerm.txt \
xgraphics
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
&& { if test -f $@; then exit 0; else break; fi; }; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \
$(am__cd) $(top_srcdir) && \
$(AUTOMAKE) --foreign doc/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
install-docDATA: $(doc_DATA)
@$(NORMAL_INSTALL)
@list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \
$(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \
fi; \
for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
echo "$$d$$p"; \
done | $(am__base_list) | \
while read files; do \
echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \
$(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \
done
uninstall-docDATA:
@$(NORMAL_UNINSTALL)
@list='$(doc_DATA)'; test -n "$(docdir)" || list=; \
files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir)
tags TAGS:
ctags CTAGS:
cscope cscopelist:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
list='$(DISTFILES)'; \
dist_files=`for file in $$list; do echo $$file; done | \
sed -e "s|^$$srcdirstrip/||;t" \
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
case $$dist_files in \
*/*) $(MKDIR_P) `echo "$$dist_files" | \
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
sort -u` ;; \
esac; \
for file in $$dist_files; do \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
if test -d $$d/$$file; then \
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
if test -d "$(distdir)/$$file"; then \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
fi; \
cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
else \
test -f "$(distdir)/$$file" \
|| cp -p $$d/$$file "$(distdir)/$$file" \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile $(DATA)
installdirs:
for dir in "$(DESTDIR)$(docdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
if test -z '$(STRIP)'; then \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
install; \
else \
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic
dvi: dvi-am
dvi-am:
html: html-am
html-am:
info: info-am
info-am:
install-data-am: install-docDATA
install-dvi: install-dvi-am
install-dvi-am:
install-exec-am:
install-html: install-html-am
install-html-am:
install-info: install-info-am
install-info-am:
install-man:
install-pdf: install-pdf-am
install-pdf-am:
install-ps: install-ps-am
install-ps-am:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-docDATA
.MAKE: install-am install-strip
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
cscopelist-am ctags-am distclean distclean-generic \
distclean-libtool distdir dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-docDATA install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
uninstall-am uninstall-docDATA
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

BIN
doc/Mandelbrot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@ -2,23 +2,18 @@ Bugs
~~~~
-
Improvements
~~~~~~~~~~~~
-
Missing Features
~~~~~~~~~~~~~~~~
- application menu
- FMenuBar()
- FPopupMenu()
- list/tree view with Columns
- FListView()
---------------------------------------
/
├──► bin
├──▼ usr
│ ├──► bin
│ ├──► lib
│ └──► local
└──► tmp
---------------------------------------
- The FSlider() widget
. . . . . . . . .
────▲────────────
0 2 4 6 8
- A shot hello world program
- Adding for flexible layouts a FGrid widget container that organizes
its child widgets in rows and columns

View File

@ -1,51 +0,0 @@
print(...)
printf(...)
│ ╔═════════════════════════[ vterm ]═════════════════════════╗
│ ║createVTerm() ║
│ ║ ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┐ ║
│ ║ ║
│ ║ │ restoreVTerm(x,y,w,h) │ ║
│ ║ ║
│ ║ └ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ┘ ║
│ ║ ║
│ ┌───────╨─────[ vwin ]─────────────┐ ║
│ │createArea(area) │ ║
│ │ │ ║
│ │ │ ║
└───┼─────────────► ──────► updateVTerm(area) ────► ║
│ │ ║
│ putArea(x,y,area) ║
│ ────────────────────► ║
│ getArea(x,y,area) ║
│ ◄──────────────────── ║
│ │ ║
│ │ ║
│ resizeArea(area)│ ║
└───────╥──────────────────────────┘ ║
║ ║
║ ║
║ ║
║ │ resizeVTerm()║
╚═══▼═══════════════════════════════════════════════════════╝
│ putVTerm() ┌───────────────┐
└───────────────────►│ output_buffer │
updateTerminal() └───────┬───────┘
│ flush_out()
│ +
│ Fputchar(char)
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▌ ▐
▌ screen ▐
▌ ───────────── ▐
▌ real terminal ▐
▌ ▐
▀▀▀▀▀▀▀███▀▀▀▀▀▀▀
███
▀▀▀▀▀▀▀▀▀

30
doc/benchmark.md Normal file
View File

@ -0,0 +1,30 @@
Benchmark
=========
The Rotozoomer example can perform a benchmark run with the parameter "-b" to determine the FINAL CUT character speed in the terminal.
[![rotozoomer-benchmark](https://asciinema.org/a/316531.svg)](https://asciinema.org/a/316531?size=medium&autoplay=1)
Speed tests
-----------
| Terminal | Size | Time | Loops | Frame rate |
|--------------------|-------|---------|-------|------------|
| XTerm | 80x24 | 2.693ms | 314 | 116.598fps |
| PuTTY | 80x24 | 2.711ms | 314 | 115.824fps |
| Mintty | 80x24 | 2.799ms | 314 | 112.182fps |
| Cygwin (cmd) | 80x24 | 2.99ms | 314 | 105.016fps |
| rxvt-cygwin-native | 80x24 | 2.836ms | 314 | 110.719fps |
| rxvt | 80x24 | 3.064ms | 314 | 102.480fps |
| rxvt-unicode | 80x24 | 2.853ms | 314 | 110.059fps |
| Tera Term | 80x24 | 3.154ms | 314 | 99.5561fps |
| Konsole | 80x24 | 2.727ms | 314 | 115.144fps |
| GNOME-Terminal | 80x24 | 2.683ms | 314 | 117.033fps |
| Linux console | 80x25 | 2.757ms | 314 | 113.891fps |
| FreeBSD console | 80x25 | 2.726ms | 314 | 115.187fps |
| NetBSD console | 80x25 | 2.747ms | 314 | 114.306fps |
| OpenBSD console | 80x25 | 2.751ms | 314 | 114.140fps |
| Solaris console | 80x34 | 3.072ms | 314 | 102.213fps |

24
doc/build_openbsd.txt Normal file
View File

@ -0,0 +1,24 @@
Build FINAL CUT with the clang c++ compiler
-------------------------------------------
openbsd# CXX=clang++ ./build.sh
Build FINAL CUT with eg++
-------------------------
openbsd# CXX=eg++ ./build.sh
Install egcc on OpenBSD
-----------------------
openbsd# pkg_add g++
quirks-3.124 signed on 2019-04-15T12:10:16Z
Ambiguous: choose package for g++
a 0: <None>
1: g++-4.9.4p18
2: g++-8.3.0
Your choice: 2
g++-8.3.0:gcc-libs-8.3.0: ok
g++-8.3.0:gmp-6.1.2p3: ok
g++-8.3.0:mpfr-3.1.5.2p0: ok
g++-8.3.0:libmpc-0.9p2: ok
g++-8.3.0:gcc-8.3.0: ok
g++-8.3.0: ok

12
doc/build_solaris.txt Normal file
View File

@ -0,0 +1,12 @@
Install gcc5g++ on Solaris
https://www.opencsw.org/packages/gcc5g++/
pkgadd -d http://get.opencsw.org/now
/opt/csw/bin/pkgutil -U
/opt/csw/bin/pkgutil -y -i gcc5g++
/usr/sbin/pkgchk -L CSWgcc5g++ # list files
PATH=/opt/csw/bin:$PATH

BIN
doc/calculator.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -1,85 +1,121 @@
══════════════════════════════════════════════════════════════════════════════
Class digramm
══════════════════════════════════════════════════════════════════════════════
┌───────────┐
┌────┤ FKeyEvent │
│ └───────────┘
│ ┌─────────────┐
├────┤ FMouseEvent │
│ └─────────────┘
│ ┌─────────────┐
├────┤ FWheelEvent │
│ └─────────────┘
│ ┌─────────────┐
├────┤ FFocusEvent │
│ └─────────────┘
│ ┌─────────────┐
┌────────┐ ├────┤ FAccelEvent │
│ FEvent │◄─┤ └─────────────┘
└────┬───┘ │ ┌──────────────┐
│1 ├────┤ FResizeEvent │
│ │ └──────────────┘
│ │ ┌────────────┐
│ ├────┤ FShowEvent │
│ │ └────────────┘
│ │ ┌────────────┐
│ ├────┤ FHideEvent │
│ │ └────────────┘
│ │ ┌─────────────┐
│ ├────┤ FCloseEvent │
│ │ └─────────────┘
│ │ ┌─────────────┐
│ └────┤ FTimerEvent │
│ └─────────────┘
│ ┌──────────────┐
│ ┌────┤ FApplication │
│ │ └──────────────┘
│ │ ┌─────────┐1
│ ├────┤ FButton ├-----------------------------.
│ │ └─────────┘ │
│ │ ┌────────┐1 │
│ ├────┤ FLabel ├------------------------------┤
│ │ └────────┘ │
│ │ ┌───────────┐1 │
│ ├────┤ FLineEdit ├---------------------------┤
│ │ └───────────┘ ┌──────────────┐1 │
│ │ ┌───────────────┐ ┌──┤ FRadioButton ├--┤
│1 ├────┤ FToggleButton │◄─┤ └──────────────┘ │
┌─────────┐ ┌─────┴───┐ │ └───────────────┘ │ ┌───────────┐1 │
│ FObject │◄─┬┤ FWidget │◄─┤ ┌──────────────┐ └──┤ FCheckBox ├-----┤
└─────────┘ │└───┬─┬───┘ ├────┤ FButtonGroup │ └───────────┘ │
│ │1│1 │ └──────────────┘ │
┌───────┐ │ │ │ │ ┌──────────────┐ │
│ FTerm │◄─┘ │ │ ├────┤ FProgressbar │ │ *┌─────────┐
└──┬─┬──┘ │ │ │ └──────────────┘ ├---┤ FString │
│1│1 │ │ │ ┌────────────┐ │ └─────────┘
│ └----------┤ │ ├────┤ FScrollbar │ │
│* │ │ │ └────────────┘ │
┌────┴──────┐ │ │ │ ┌───────────┐1 │
│ FOptiMove │ │ │ ├────┤ FTextView ├---------------------------┤
└───────────┘ │ │ │ └───────────┘ │
│ │ │ ┌──────────┐1 *┌──────────────┐1 │
│ │ ├────┤ FListBox ├-------┤ FListBoxItem ├-----┤
│ │ │ └──────────┘ └──────────────┘ │
│ │ │ ┌────────────┐1 *┌────────────┐1 │
│ │ ├────┤ FStatusBar ├-----┤ FStatusKey ├-------┤
│ │ │ └────┬───────┘ └────────────┘ │
│ │ │ 1└----------------------------------┤
│ │ │ ┌─────────────┐1 │
│ │ ┌───┴─────┐ ┌─────────┐ ┌──┤ FFileDialog ├----┤
│ │ │ FWindow │◄─┤ FDialog │◄──┤ └─────────────┘ │
│ │ └─────────┘ └────┬────┘ │ ┌─────────────┐1 │
│ │ │ └──┤ FMessageBox ├----┤
│ │ │ └─────────────┘ │
│ │ 1└------------------------------┤
│ │ │
│ └---------------------------------------------------'
│ *┌────────┐
├---┤ FPoint │
│ └────────┘
│ *┌───────┐
└---┤ FRect │
└───────┘
1┌────────────┐
┌-----------┤ FTermLinux │
: └────────────┘
: 1┌──────────────┐
┌-----------┤ FTermFreeBSD │
: └──────────────┘
: 1┌──────────────┐
┌-----------┤ FTermOpenBSD │
: └──────────────┘
: 1┌────────────────┐ ┌───────────┐
┌-----------┤ FTermDetection │ ┌────┤ FKeyEvent │
: └────────────────┘ │ └───────────┘
: 1┌────────────────┐ │ ┌─────────────┐
┌-----------┤ FTermcapQuirks │ ├────┤ FMouseEvent │
: └────────────────┘ │ └─────────────┘
: 1┌────────────────┐ │ ┌─────────────┐
┌-----------┤ FTermXTerminal │ ├────┤ FWheelEvent │
: └────────────────┘ │ └─────────────┘
: 1┌──────────┐ │ ┌─────────────┐
┌-----------┤ FTermcap │ ├────┤ FFocusEvent │
: └──────────┘ │ └─────────────┘
: 1┌──────────┐ │ ┌─────────────┐
┌-----------┤ FTermios │ ├────┤ FAccelEvent │
: └──────────┘ │ └─────────────┘
: 1┌───────────────┐ │ ┌──────────────┐
┌-----------┤ FColorPalette │ ├────┤ FResizeEvent │
: └───────────────┘ │ └──────────────┘
: 1┌───────────┐ │ ┌────────────┐
┌-----------┤ FOptiMove │ ├────┤ FShowEvent │
: └───────────┘ │ └────────────┘
: 1┌───────────┐ │ ┌────────────┐
┌-----------┤ FOptiAttr │ ├────┤ FHideEvent │
: └───────────┘ │ └────────────┘
: 1┌───────────┐ │ ┌─────────────┐
┌-----------┤ FKeyboard │ ├────┤ FCloseEvent │
: └───────────┘ │ └─────────────┘
: 1┌───────────────┐ │ ┌─────────────┐
┌-----------┤ FMouseControl │ ├────┤ FTimerEvent │
: └───────────────┘ │ └─────────────┘
: 1┌─────────┐ │ ┌────────────┐1 1┌───────┐
┌-----------┤ FSystem │ ├────┤ FUserEvent ├------┤ FData │
: └─────────┘ │ └────────────┘ └───────┘
: *┌─────────┐ │ ┌──────┐ ┌─────────┐
: ┌--------┤ FString │ │ │ FLog │◄──┤ FLogger │
: : └─────────┘ │ └──┬───┘ └─────────┘
: : *┌───────────────┐ │ :1
: ┌--------┤ FStringStream │ │ ┌──┴───────────┐
: : └───────────────┘ │ ┌────┤ FApplication │
: : *┌────────┐ │ │ └──────────────┘
: ┌--------┤ FPoint │ │ │ ┌────────┐
: : └────────┘ │ ├────┤ FLabel │
: : *┌───────┐ │ │ └────────┘
: ┌--------┤ FRect │ │ │ ┌───────────┐
: : └───────┘ │ ├────┤ FLineEdit │
: : *┌───────┐ │ │ └───────────┘
: ┌--------┤ FSize │ │ │ ┌──────────┐
: : └───────┘ │ ├────┤ FSpinBox │
:1 :1 │ │ └──────────┘
┌─┴──┴──┐ │ │ ┌─────────┐
│ FTerm │ │ ├────┤ FButton │
└───┬───┘ ┌────────┐ │ │ └─────────┘
:1 │ FEvent │◄─────┘ │ ┌──────────────┐ ┌──────────────┐
┌───┴────┐ └────┬───┘ ├────┤ FButtonGroup │ ┌──┤ FRadioButton │
│ FVTerm │◄──┐ :1 │ └──────────────┘ │ └──────────────┘
└────────┘ │ ┌────┴────┐ │ ┌───────────────┐ │ ┌───────────┐
├────┤ FWidget │◄───────┼────┤ FToggleButton │◄─┼──┤ FCheckBox │
┌─────────┐ │ └────┬────┘ │ └───────────────┘ │ └───────────┘
│ FObject │◄──┘ :1 │ ┌──────────────┐ │ ┌─────────┐
└─────────┘ ┌──────┴────────┐ ├────┤ FProgressbar │ └──┤ FSwitch │
│ FWidgetColors │ │ └──────────────┘ └─────────┘
└───────────────┘ │ ┌────────────┐
├────┤ FScrollbar │
│ └────────────┘
│ ┌───────────┐
├────┤ FTextView │
│ └───────────┘
│ ┌───────────┐1 1┌──────────────────┐
├────┤ FComboBox ├------┤ FDropDownListBox │
│ └───────────┘ └──────────────────┘
┌─────────────┐1 │ ┌──────────┐1 *┌──────────────┐1
│ FTermBuffer ├----------------------├────┤ FListBox ├-------┤ FListBoxItem ├--┐
└─────────────┘ │ └──────────┘ └──────────────┘ :
│ 1┌───────────┐1 *┌───────────────┐ :
├────┤ FListView ├------┤ FListViewItem │ :
│ └───────────┘ └────────┬──────┘ :
│ ┌─────────────┐ :1 :
├────┤ FScrollView │ ┌───┴───┐1 :
│ └─────────────┘ │ FData ├----┘
│ └───────┘
│ ┌────────────┐1 *┌────────────┐
│ ┌──┤ FStatusBar ├-----┤ FStatusKey │
│ │ └────────────┘ └────────────┘
│ │
│ ▼ ┌─────────────┐
┌───┴─┴───┐ ┌─────────┐ ┌──┤ FFileDialog │
│ FWindow │◄─┤ FDialog │◄──┤ └─────────────┘
└──┬──┬───┘ └─────────┘ │ ┌─────────────┐
▲ ▲ └──┤ FMessageBox │
│ │ └─────────────┘
│ │ ┌──────────┐ ┌────────────────┐
│ └──────┤ FToolTip │◄─┤ FBusyIndicator │
│ └──────────┘ └────────────────┘
└───────────────┐ ┌──────────┐
│ ┌───┤ FMenuBar │
┌───────────┐ └──────┤ └──────────┘
│ FMenuList │◄──────────┤ ┌───────┐
└────┬──────┘ └───┤ FMenu │◄──┐
:1 └───────┘ │
: ┌─────────────────┐ │
: │ FDialogListMenu ├───┘
: └─────────────────┘
└--------------------------------┐
:* ┌────────────────┐* :
┌────┴─────┐ ┌──┤ FCheckMenuItem ├---┘
│FMenuItem │◄─┤ └────────────────┘ :
└──────────┘ │ ┌────────────────┐* :
└──┤ FRadioMenuItem ├---┘
└────────────────┘

56
doc/class_template.cpp Normal file
View File

@ -0,0 +1,56 @@
/***********************************************************************
* fclassname.cpp - [brief description] *
* *
* This file is part of the FINAL CUT widget toolkit *
* *
* Copyright [year] [Maintainer] *
* *
* FINAL CUT is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation; either version 3 of *
* the License, or (at your option) any later version. *
* *
* FINAL CUT 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 Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this program. If not, see *
* <http://www.gnu.org/licenses/>. *
***********************************************************************/
#include "final/fclassname.h"
namespace finalcut
{
// static class attributes
//----------------------------------------------------------------------
// class FClassName
//----------------------------------------------------------------------
// constructors and destructor
//----------------------------------------------------------------------
FClassName::FClassName()
{ }
//----------------------------------------------------------------------
FClassName::~FClassName() // destructor
{ }
// public methods of FClassName
//----------------------------------------------------------------------
// protected methods of FClassName
//----------------------------------------------------------------------
// private methods of FClassName
//----------------------------------------------------------------------
} // namespace finalcut

128
doc/class_template.h Normal file
View File

@ -0,0 +1,128 @@
/***********************************************************************
* fclassname.h - [brief description] *
* *
* This file is part of the FINAL CUT widget toolkit *
* *
* Copyright [year] [Maintainer] *
* *
* FINAL CUT is free software; you can redistribute it and/or modify *
* it under the terms of the GNU Lesser General Public License as *
* published by the Free Software Foundation; either version 3 of *
* the License, or (at your option) any later version. *
* *
* FINAL CUT 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 Lesser General Public License for more details. *
* *
* You should have received a copy of the GNU Lesser General Public *
* License along with this program. If not, see *
* <http://www.gnu.org/licenses/>. *
***********************************************************************/
/* Standalone class
*
*
*
* FClassName
*
*/
#ifndef FCLASSNAME_H
#define FCLASSNAME_H
#if !defined (USE_FINAL_H) && !defined (COMPILE_FINAL_CUT)
#error "Only <final/final.h> can be included directly."
#endif
//#include ...
namespace finalcut
{
//----------------------------------------------------------------------
// class FClassName
//----------------------------------------------------------------------
class FClassName
{
public:
// Using-declaration
// Typedefs and Enumerations
// Constants
// Constructors
FClassName();
// Disable copy constructor
FClassName (const FClassName&) = delete;
// Destructor
~FClassName();
// Disable copy assignment operator (=)
FClassName& operator = (const FClassName&) = delete;
// Overloaded operators
// Accessors
// Mutators
// Inquiries
// Methods
// Event handlers
// Callback methods
// Data members
protected:
// Typedefs and Enumerations
// Constants
// Accessors
// Inquiries
// Methods
// Event handlers
// Callback methods
// Data members
private:
// Typedefs and Enumerations
// Constants
// Accessors
// Inquiries
// Methods
// Event handlers
// Callback methods
// Data members
// Friend class
};
// FClassName inline functions
//----------------------------------------------------------------------
} // namespace finalcut
#endif // FCLASSNAME_H

47
doc/coding-style.txt Normal file
View File

@ -0,0 +1,47 @@
============
Coding style
============
Formatting
----------
* A new line should begin after 72 (max. 80) characters
* Use 2 spaces indent. Do not use tabs!
* Leave a space after the keywords if, switch, while, do, for, and return
* Conditions are placed in parentheses with spaces -> if ( a > 5 )
* Use one blank line before and after a for, if, switch,
while, do..while code block
* In parameter lists, leave a space after each comma
* Starting curly brace "{" in a new line
Naming
------
* class name: UpperCamelCase
* Function: lowerCamelCase
* Callback function: cb_lowerCamelCase (beginning with "cb_" as prefix)
* Variable: lower_case_underscored
Class declaration order
-----------------------
The declaration section order is:
* public:
* protected:
* private:
Each declaration section should be in the following order:
* Using-declarations (using std::string;)
* Typedefs and Enumerations
* Constants (static const data members)
* Constructors
* Destructor
* Overloaded operators (=, +, -, +=. ...)
* Accessors (getXY)
* Mutators (setXY)
* Inquiries (isXY)
* Methods, including static methods
* Event handler methods
* Callback methods
* Data Members (except static const data members)

View File

@ -2,6 +2,6 @@
# set the xterm window title
TERMTITLE="man 4 console_codes"
echo -ne "\033]0;${TERMTITLE}\007"
echo -ne "\\033]0;${TERMTITLE}\\007"
man 4 console_codes

View File

@ -2,6 +2,6 @@
# set the xterm window title
TERMTITLE="man 4 console_ioctl"
echo -ne "\033]0;${TERMTITLE}\007"
echo -ne "\\033]0;${TERMTITLE}\\007"
man 4 console_ioctl

156
doc/faq.md Normal file
View File

@ -0,0 +1,156 @@
Frequently Asked Questions
==========================
What is FINAL CUT?
------------------
FINAL CUT is a [C++](https://en.wikipedia.org/wiki/C%2B%2B) class library
and a widget toolkit with full mouse support for creating a text-based user
interface. It's based on the Termcap library and has its own cursor
optimization and window management.
Why did you develop FINAL CUT?
------------------------------
Most Unix [TUIs](https://en.wikipedia.org/wiki/Text-based_user_interface)
are difficult to use or limited in their functionality. I developed
FINAL CUT to fix these problems. The main goals in FINAL CUT design were
to create a library that is easy to use, powerful, visually appealing and
easily expandable.
Where does the name FINAL CUT come from?
----------------------------------------
From 1991 to 1996 I developed with
[Borland Pascal](https://en.wikipedia.org/wiki/Turbo_Pascal)
under [DOS](https://en.wikipedia.org/wiki/DOS) a text-based file manager
called “The Final Cut”, with the intention to be more visually appealing
than all other products. The calculator example is, among other things an
extract from this program.
As I got to learn
[object-oriented programming](https://en.wikipedia.org/wiki/Object-oriented_programming) (OOP)
with [C++](https://en.wikipedia.org/wiki/C%2B%2B) at the end of
the 90s, I noticed significant design weaknesses in my program code.
I decided to re-implement the code cleanly in C++. This time I wanted to
avoid old mistakes and do everything right and open source. In the meanwhile,
I switched from [DOS](https://en.wikipedia.org/wiki/DOS) to
[Linux](https://en.wikipedia.org/wiki/Linux), so I started the implementing
of the first widgets (FDialog, FButton, FLineEdit, FScrollbar) and the
string class FString for the
[Linux console](https://en.wikipedia.org/wiki/Linux_console).
Unfortunately, the project lost my attention in 2000.
In 2012, I needed an attractive terminal presentation for a textual data
structure. So I have started to develop FINAL CUT to a widget library.
Are Windows and DOS supported by FINAL CUT?
-------------------------------------------
You need an operating system environment that implements a POSIX system
call API. This can be realized in Windows with the Cygwin project.
Is my platform supported?
-------------------------
The supported platforms are Linux, FreeBSD, NetBSD, OpenBSD, macOS,
Cygwin on Microsoft Windows and Oracle Solaris
What do I need to write my own programs with FINAL CUT?
-------------------------------------------------------
You need a C++ compiler like GCC (g++) or Clang (clang++).
What do I need to build this library?
-------------------------------------
You need three things:
1. C++ compiler like GCC (g++) or Clang (clang++).
2. The GNU building tools
*For example, in a Debian-based distribution it would be
the following packages:*
* autotools-dev
* automake
* autoconf
* autoconf-archive
* libtool
* pkg-config
3. Development packages for following libraries:
* C standard library
* C++ standard library
* Termcap library *(mostly part of the curses library)*
* General Purpose Mouse library *(optional, only if you need
mouse support on the Linux console)*
*For example, in a Debian-based distribution it would be the following
packages:*
* libglib2.0-dev
* libstdc++-6-dev
* libtinfo-dev
* libncurses5-dev
* libgpm-dev
How to compile FINAL CUT without GPM support?
---------------------------------------------
```bash
./configure --without-gpm
```
Which mouse types are supported?
--------------------------------
* Normal xterm mouse tracking (limited to 223 rows/columns)
* Xterm SGR mouse tracking
* URXVT mouse tracking
* General Purpose Mouse (gpm) on a linux console
What do I need to compile the unit tests?
-----------------------------------------
You need the unit testing framework CppUnit.
How can I fix display problems?
-------------------------------
* Make sure that the environment variable TERM has the right
terminal name.
* Use the command "`msgcat --color=test`" to test whether the terminal
displays colors correctly in the terminal.
* If characters are not displayed in the right place on the screen,
it may help to disable cursor optimization for your program with
the parameter *--no-optimized-cursor*.
* If terminal detection did not work, it is useful to turn off the terminal
detection with the parameter *--no-terminal-detection*.
* If the color palette redefinition causes problems, you can switch off
the color mapping with the parameter *--no-color-change*.
How can I redraw the terminal?
------------------------------
With Ctrl-L you can clear and redraw all information on the terminal screen.
This may be necessary if a background program overwrites the displayed
widgets with other characters.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1,220 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
height="74.630997mm"
viewBox="0 0 101.5 74.630997"
width="101.5mm"
version="1.1"
id="svg61"
sodipodi:docname="final-cut-application-structure.svg"
inkscape:version="0.92.1 r15371">
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="3840"
inkscape:window-height="1984"
id="namedview35"
showgrid="false"
inkscape:zoom="2.8893731"
inkscape:cx="331.13905"
inkscape:cy="54.29145"
inkscape:window-x="0"
inkscape:window-y="55"
inkscape:window-maximized="1"
inkscape:current-layer="g23" />
<metadata
id="metadata67">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs65" />
<linearGradient
id="a"
gradientUnits="userSpaceOnUse"
x1="33.698196"
x2="34.111275"
y1="296.49637"
y2="222.78156">
<stop
offset="0"
stop-color="#dbdbdc"
id="stop2"
style="stop-color:#e8a7a7;stop-opacity:1" />
<stop
offset="1"
stop-color="#fff"
id="stop4" />
</linearGradient>
<g
transform="translate(0,-222.36897)"
id="g59">
<g
id="g23"
style="stroke:#000000;fill:none"
transform="translate(-0.00447221)">
<rect
height="74.20752"
ry="2.5604739"
stroke-miterlimit="1.5"
width="65.967117"
x="0.2115"
y="222.58098"
id="rect7"
style="fill:#f6f8fa;fill-opacity:1;stroke-width:0.42300001;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5" />
<path
d="M 7.8726193,233.11525 H 66.187848"
id="path9"
inkscape:connector-curvature="0"
style="fill:none;stroke-width:0.42300001;stroke-linecap:square;stroke-linejoin:bevel" />
<path
d="M 7.8726193,243.73006 H 66.187848"
id="path11"
inkscape:connector-curvature="0"
style="fill:none;stroke-width:0.42300001" />
<path
d="M 7.8726193,254.34488 H 66.187848"
id="path13"
inkscape:connector-curvature="0"
style="fill:none;stroke-width:0.42300001" />
<path
d="M 7.8726193,264.95969 H 66.187848"
id="path15"
inkscape:connector-curvature="0"
style="fill:none;stroke-width:0.42300001" />
<path
d="M 0.19656226,275.5745 H 66.187852"
id="path17"
inkscape:connector-curvature="0"
style="fill:none;stroke-width:0.42300001" />
<path
d="M 0.19656226,286.18931 H 66.187852"
id="path19"
inkscape:connector-curvature="0"
style="fill:none;stroke-width:0.42300001" />
<path
d="M 7.9427453,275.5745 V 233.11525"
id="path21"
inkscape:connector-curvature="0"
style="fill:none;stroke-width:0.42300001;stroke-linecap:square;stroke-linejoin:bevel" />
</g>
<text
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;stroke-width:0.26458299;stroke-opacity:0"
x="33.420082"
y="229.02936"
id="text27">
<tspan
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;text-anchor:middle;stroke-width:0.26458299;stroke-opacity:0"
x="33.420082"
y="229.02936"
id="tspan25">Application</tspan>
</text>
<text
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill:#052867;fill-opacity:1;stroke-width:0.42300001;stroke-opacity:0"
x="33.219879"
y="282.35825"
id="text31">
<tspan
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;text-anchor:middle;fill:#052867;fill-opacity:1;stroke-width:0.42300001;stroke-opacity:0"
x="33.219879"
y="282.35825"
id="tspan29">Standard C/C++ Library</tspan>
</text>
<text
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill:#052867;fill-opacity:1;stroke-width:0.42300001;stroke-opacity:0"
x="33.220379"
y="293.15323"
id="text35">
<tspan
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;text-anchor:middle;fill:#052867;fill-opacity:1;stroke-width:0.42300001;stroke-opacity:0"
x="33.220379"
y="293.15323"
id="tspan33">Operating System</tspan>
</text>
<text
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill:#083c99;stroke-width:0.42300001;stroke-opacity:0"
x="37.113426"
y="240.10773"
id="text39">
<tspan
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;text-anchor:middle;fill:#083c99;stroke-width:0.42300001;stroke-opacity:0"
x="37.113426"
y="240.10773"
id="tspan37">Widgets</tspan>
</text>
<text
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill:#083c99;stroke-width:0.42300001;stroke-opacity:0"
x="37.113487"
y="250.53276"
id="text43">
<tspan
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;text-anchor:middle;fill:#083c99;stroke-width:0.42300001;stroke-opacity:0"
x="37.113487"
y="250.53276"
id="tspan41">Virtual Terminal</tspan>
</text>
<text
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;stroke-width:0.42300001;stroke-opacity:0"
x="37.113487"
y="261.55215"
id="text47">
<tspan
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;text-anchor:middle;stroke-width:0.42300001;stroke-opacity:0"
x="37.113487"
y="261.55215"
id="tspan45">Termcap</tspan>
</text>
<text
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill-opacity:0.99858398;stroke-width:0.42300001;stroke-opacity:0"
x="37.11351"
y="271.62482"
id="text51">
<tspan
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;text-anchor:middle;fill-opacity:0.99858398;stroke-width:0.42300001;stroke-opacity:0"
x="37.11351"
y="271.62482"
id="tspan49">Terminal</tspan>
</text>
<text
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill:#083c99;stroke-width:0.26458299;stroke-opacity:0"
x="86.416771"
y="245.48337"
id="text55">
<tspan
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;text-anchor:middle;fill:#083c99;stroke-width:0.26458299;stroke-opacity:0"
x="86.416771"
y="245.48337"
id="tspan53">FINAL CUT</tspan>
</text>
<g
aria-label="}"
transform="scale(0.99731046,1.0026968)"
style="font-style:normal;font-variant:normal;font-weight:200;font-stretch:condensed;font-size:22.67463493px;line-height:125%;font-family:'Fira Sans Condensed';-inkscape-font-specification:'Fira Sans Condensed, Ultra-Light Condensed';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458329px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
id="text4545">
<path
d="m 68.105817,232.32133 v 0.56687 c 1.22443,0 1.655248,0.61222 1.655248,1.90467 v 6.21285 c 0,1.4285 0.476168,1.83665 1.496526,2.06339 -1.020358,0.22675 -1.496526,0.63489 -1.496526,2.06339 v 6.21285 c 0,1.29246 -0.430818,1.90467 -1.655248,1.90467 v 0.56687 c 1.473851,0 2.312813,-0.74826 2.312813,-2.47154 v -6.30355 c 0,-1.20175 0.521516,-1.60989 1.541875,-1.60989 v -0.72559 c -1.020359,0 -1.541875,-0.40815 -1.541875,-1.6099 v -6.30355 c 0,-1.72327 -0.838962,-2.47154 -2.312813,-2.47154 z"
style="font-style:normal;font-variant:normal;font-weight:200;font-stretch:condensed;font-size:22.67463493px;font-family:'Fira Sans Condensed';-inkscape-font-specification:'Fira Sans Condensed, Ultra-Light Condensed';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start;stroke-width:0.26458329px"
id="path4547"
inkscape:connector-curvature="0" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,324 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
height="65.484894mm"
viewBox="0 0 149.86537 65.484895"
width="149.86537mm"
version="1.1"
id="svg109">
<metadata
id="metadata115">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs113" />
<marker
id="a"
orient="auto"
overflow="visible"
refX="0"
refY="0">
<path
d="m0 0 5-5-17.5 5 17.5 5z"
fill-rule="evenodd"
stroke="#000"
stroke-width="1pt"
transform="matrix(-.4 0 0 -.4 -4 0)"
id="path2" />
</marker>
<marker
id="b"
orient="auto"
overflow="visible"
refX="0"
refY="0">
<path
d="m0 0 5-5-17.5 5 17.5 5z"
fill-rule="evenodd"
stroke="#000"
stroke-width="1pt"
transform="matrix(-.4 0 0 -.4 -4 0)"
id="path5" />
</marker>
<marker
id="c"
orient="auto"
overflow="visible"
refX="0"
refY="0">
<path
d="m0 0 5-5-17.5 5 17.5 5z"
fill-rule="evenodd"
stroke="#000"
stroke-width="1pt"
transform="matrix(-.4 0 0 -.4 -4 0)"
id="path8" />
</marker>
<marker
id="d"
orient="auto"
overflow="visible"
refX="0"
refY="0">
<path
d="m0 0 5-5-17.5 5 17.5 5z"
fill-rule="evenodd"
stroke="#000"
stroke-width="1pt"
transform="matrix(-.4 0 0 -.4 -4 0)"
id="path11" />
</marker>
<marker
id="e"
orient="auto"
overflow="visible"
refX="0"
refY="0">
<path
d="m0 0 5-5-17.5 5 17.5 5z"
fill-rule="evenodd"
stroke="#000"
stroke-width="1pt"
transform="matrix(-.4 0 0 -.4 -4 0)"
id="path14" />
</marker>
<g
style="stroke-width:1.20796704"
id="g57">
<g
transform="matrix(0.82806766,0,0,0.82760652,18.811674,-210.24741)"
id="g23">
<path
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.51105303;stroke-linecap:round;stroke-linejoin:round"
d="m 7.868146,254.29825 h 57.783382 v 10.66144 H 7.868146 Z"
id="path17" />
<text
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill:#1a1a1a;stroke-width:0.51097;stroke-opacity:0"
x="37.113487"
y="261.55215"
id="text21">
<tspan
style="stroke-width:0.51097"
x="37.113487"
y="261.55215"
id="tspan19">FApplication</tspan>
</text>
</g>
<g
transform="matrix(0.82806766,0,0,0.82760652,25.151866,-0.203308)"
id="g31">
<path
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.51105303;stroke-linecap:round;stroke-linejoin:round"
d="M 15.875,19.022009 H 42.333334 V 29.683451 H 15.875 Z"
id="path25" />
<text
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill:#1a1a1a;stroke-width:0.51097;stroke-opacity:0"
x="29.24534"
y="26.275915"
id="text29">
<tspan
style="stroke-width:0.51097"
x="29.24534"
y="26.275915"
id="tspan27">FDialog</tspan>
</text>
</g>
<g
transform="matrix(0.82806766,0,0,0.82760652,38.120716,15.124655)"
id="g39">
<path
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.51105303;stroke-linecap:round;stroke-linejoin:round"
d="M 15.875,19.022009 H 42.333334 V 29.683451 H 15.875 Z"
id="path33" />
<text
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill:#1a1a1a;stroke-width:0.51097;stroke-opacity:0"
x="29.24534"
y="26.275915"
id="text37">
<tspan
style="stroke-width:0.51097"
x="29.24534"
y="26.275915"
id="tspan35">FDialog</tspan>
</text>
</g>
<g
transform="matrix(0.82806766,0,0,0.82760652,12.006292,15.124655)"
id="g47">
<path
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.51105303;stroke-linecap:round;stroke-linejoin:round"
d="M 15.875,19.022009 H 42.333334 V 29.683451 H 15.875 Z"
id="path41" />
<text
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill:#1a1a1a;stroke-width:0.51097;stroke-opacity:0"
x="29.24534"
y="26.275915"
id="text45">
<tspan
style="stroke-width:0.51097"
x="29.24534"
y="26.275915"
id="tspan43">FLabel</tspan>
</text>
</g>
<g
transform="matrix(0.82806766,0,0,0.82760652,25.151866,-0.203308)"
id="g55">
<path
style="fill:#f9f9f9;stroke:#000000;stroke-width:0.51105303;stroke-linecap:round;stroke-linejoin:round"
d="M 31.75,56.063679 H 58.208334 V 66.725121 H 31.75 Z"
id="path49" />
<text
style="font-weight:bold;font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill:#1a1a1a;stroke-width:0.51097;stroke-opacity:0"
x="45.120338"
y="63.317585"
id="text53">
<tspan
style="stroke-width:0.51097"
x="45.120338"
y="63.317585"
id="tspan51">FListBox</tspan>
</text>
</g>
</g>
<text
style="font-style:italic;font-weight:bold;font-size:4.08859491px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill:#1a1a1a;stroke-width:0.42300001;stroke-opacity:0"
transform="scale(1.0002786,0.99972148)"
x="62.287796"
y="65.409096"
id="text61">
<tspan
x="62.287796"
y="65.409096"
id="tspan59">etc.</tspan>
</text>
<path
d="m49.251306 9.2100164v5.7870836"
fill="none"
marker-end="url(#a)"
stroke="#000"
stroke-width=".423069"
id="path63" />
<path
d="m42.679299 24.537976v5.779196"
fill="none"
marker-end="url(#b)"
stroke="#000"
stroke-width=".423069"
id="path65" />
<path
d="m55.736511 24.537898v5.779196"
fill="none"
marker-end="url(#c)"
stroke="#000"
stroke-width=".423069"
id="path67" />
<path
d="m62.369882 39.865938v5.548839"
fill="none"
marker-end="url(#d)"
stroke="#000"
stroke-width=".423069"
id="path69" />
<path
d="m62.369882 55.193909v5.548839"
fill="none"
marker-end="url(#e)"
stroke="#000"
stroke-width=".423069"
id="path71" />
<g
style="font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill:#1a1a1a;stroke-width:0.51097;stroke-opacity:0"
transform="matrix(0.82806766,0,0,0.82760652,25.151866,-0.203308)"
id="g89">
<text
x="-23.01368"
y="8.7182531"
id="text75">
<tspan
x="-23.01368"
y="8.7182531"
id="tspan73">Parent:</tspan>
</text>
<text
x="-24.412582"
y="27.239086"
id="text79">
<tspan
x="-24.412582"
y="27.239086"
id="tspan77">Child:</tspan>
</text>
<text
x="-20.59841"
y="44.796837"
id="text83">
<tspan
x="-20.59841"
y="44.796837"
id="tspan81">Subchild:</tspan>
</text>
<text
x="-15.852447"
y="63.317669"
id="text87">
<tspan
x="-15.852447"
y="63.317669"
id="tspan85">Sub-subchild:</tspan>
</text>
</g>
<g
style="font-size:4.93888903px;font-family:FreeSans, Arial, 'Bitstream Vera Sans', 'DejaVu Sans', 'Open Sans', sans-serif;letter-spacing:0;word-spacing:0;text-anchor:middle;fill:#1a1a1a;stroke-width:0.51097;stroke-opacity:0"
transform="matrix(0.82806766,0,0,0.82760652,107.7173,-0.203308)"
id="g107">
<text
x="-5.0208001"
y="8.7182531"
id="text93">
<tspan
x="-5.0208001"
y="8.7182531"
id="tspan91">Application widget (= 1)</tspan>
</text>
<text
x="-12.021867"
y="27.239086"
id="text97">
<tspan
x="-12.021868"
y="27.239086"
id="tspan95">Main widget (= 1)</tspan>
</text>
<text
x="5.9180651"
y="44.796837"
id="text101">
<tspan
x="5.918066"
y="44.796837"
id="tspan99">Widget(s) of the main widget (≥ 0)</tspan>
</text>
<text
x="10.413227"
y="63.317669"
id="text105">
<tspan
x="10.413226"
y="63.317669"
id="tspan103">Widget(s) from the parent widget (≥ 0)</tspan>
</text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.5 KiB

1478
doc/first-steps.md Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 873 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 633 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 469 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 863 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 908 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 723 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 405 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 B

20
doc/framebuffer.txt Normal file
View File

@ -0,0 +1,20 @@
Framebuffer
===========
FINAL CUT determines the used number of bits per pixel (bpp)
for Linux framebuffer console to determine whether 16 (or more)
different background colors can be displayed. Therefore your user
needs read-access to the framebuffer device (/dev/fb0 or /dev/fb/0).
You can check this with the following command:
> fbset -i
If the read-access is not given, it can help to add your user to
the group "video". To do this, please enter the following command:
> sudo usermod -a -G video USERNAME
You can check the group members with the id command:
> id

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

29
doc/mouse-control.md Normal file
View File

@ -0,0 +1,29 @@
Title bar actions on mouse clicks
=================================
The FINAL CUT title bar of dialog windows has different behaviors on mouse clicks.
Clicking on the title bar
-------------------------
* A left-click activates and raises the window. After that, you can drag the window with the mouse.
* A middle-click activates and lower the window.
* A right-click activates the window and keeps its current position in the window stack.
* A double-click maximizes or restores the window size for a resizable dialog.
Clicking the title bar buttons
------------------------------
* Single-clicking on the title bar menu button opens the title bar menu.
* Double-clicking on the title bar menu button closes the dialog.
* Single-clicking on the zoom button maximizes the window size.
* Single-clicking on the unzoom button restores the window size.
Dialog resize corner
--------------------
If you click and drag the left mouse button in the lower right corner of the window, you can change the size of a resizable dialog.

1519
doc/newfont-8x16.txt Normal file

File diff suppressed because it is too large Load Diff

1558
doc/newfont-9x16.txt Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Some files were not shown because too many files have changed in this diff Show More