Fresh IDE . Timeline
Not logged in

This repository is a mirror!

The original is located on: https://fresh.flatassembler.net/fossil/repo/fresh
If you want to follow the project, please update your remote-url

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

31 descendants and 50 ancestors of [95492a43df]

2019-05-18
07:08
[aad4694bcf] Leaf: Work on the GUI controls. (user: johnfound tags: NoCanvasGUI)
2019-05-16
21:18
[b797990264] Implemented TScrollable2 that has as parent TWindow instead of TCanvasWindow and can work well with all kind of controls. It draws itself directly in SelfPaint method.

Work on TGrid control. (user: johnfound tags: NoCanvasGUI)

2019-05-14
09:32
[d52325d9e0] Work on the TTabBar control. Process the keyboard shortcuts in a correct and OS portable way. (There are some problems how to handle the key codes and names in OS independent way.) (user: johnfound tags: NoCanvasGUI)
2019-05-12
16:04
[c361fcb7e2] Implemented TTabBar control. Fixed bugs in arrays.asm and text drawing procedures. Work in progress on the TToolbar, TTreeView and other GUI components. (user: johnfound tags: NoCanvasGUI)
2019-05-11
05:54
[54fdfbbce1] Added .UserData parameter in TWindow. Work on TTreeView (not finished). Added TMenuItem.itemID field. It is useful for the items that don't have action or menu attached. (user: johnfound tags: NoCanvasGUI)
2019-05-09
12:49
[edb12bf679] Added userID field for the menu items. TMenu:InsertItem implemented. Better and readable menu template syntax. TButton:Menu for easy attach of menu to button. (user: johnfound tags: NoCanvasGUI)
2019-05-07
21:38
[6639367637] A lot of changes as a result of activated work on Fresh v3.x

TToolbar control implemented. In very primitive state, but works somehow.

New StrNormalizePath2 function, together with the OS dependent path functions IsPathRelative and GetPrefix. They are aimed to provide OS independent way for path processing.

Fixed serious bugs in the GUI part, related to windows nested in more than 2 levels. It turned that the library was never tested with such windows before...

A lot of new functionality and correct behavior in the GUI part. Now the TAction accelerator keys are assigned through the StrToAccelerator function directly from the templates. (user: johnfound tags: NoCanvasGUI)

2019-05-03
21:00
[f313647175] Work on TAsmEdit, related to the text editing.

Work on TMenu - implemented menu template similar to the old CoolMenu and procedure MenuFromTemplate that creates the whole menu tree from the template.

The functions "read" and "write" removed from the pthreads import library, because in conflict with FASM interface procedures. I am not sure why these functions are there, but they are not used after all. (user: johnfound tags: NoCanvasGUI)

2019-05-02
09:36
[8a219674f9] The method TAsmEdit:SplitLine implemented. (user: johnfound tags: NoCanvasGUI)
08:08
[f2e6fc9d73] Undo/Redo operations work at least for delete. More tests needed of course. (user: johnfound tags: NoCanvasGUI)
2019-05-01
20:45
[4b75c23dcb] Not finished work on Undo/Redo. (user: johnfound tags: NoCanvasGUI)
07:13
[0c75b62fae] More work on deleting characters and selections. Added backspace. Added handling of the trailing spaces. (user: johnfound tags: NoCanvasGUI)
2019-04-30
22:05
[765802a720] Work on the syntax highlighter. Fixed the text rendering with a syntax highlight. (user: johnfound tags: NoCanvasGUI)
2019-04-29
07:13
[22f4724e5a] Deleting characters. (user: johnfound tags: NoCanvasGUI)
2019-04-28
14:31
[b233c364d5] Fixed selection rectangles list creation. Fixed selection delete method. Code cleanup. (user: johnfound tags: NoCanvasGUI)
2019-04-27
16:52
[59f19b3b5c] TAsmEdit refactored to the TText interface changes. (user: johnfound tags: NoCanvasGUI)
2019-04-22
17:00
[b8ab87cfc4] Merged with FreshLibDev. Some serious conflicts with the existing code are possible, especially because of TText interface has been changed! (user: johnfound tags: NoCanvasGUI)
16:34
[06f6f3d9ee] Draw the menu selection without the icon. (user: johnfound tags: NoCanvasGUI)
2019-04-20
12:33
[926386c601] Process properly the resizing of the windows. (user: johnfound tags: NoCanvasGUI)
12:32
[a016263090] Proper theme change in some tests. (user: johnfound tags: NoCanvasGUI)
2019-04-19
12:58
[11ee3a3d7f] Text caret color. (user: johnfound tags: NoCanvasGUI)
12:58
[2d4d2404aa] Some work on the text caret and Linux expose events processing priority. (user: johnfound tags: NoCanvasGUI)
2019-04-16
10:40
[fb9af5561c] Fixed the Linux port WaitForSystemEvents procedure that caused hands sometimes (there is a message in the queue, but the procedure does not return).

The mouse.asm library refactored to use interface/body syntax.

ZeroMouseMove procedure introduced. It generates mouse move events, without moving mouse actually.

Work on the TAsmEdit control. As a result changed a little the Win32 message processing (WM_PAINT processed with higher priority).

Work on the different GUI controls in order to make them work with the new interfaces. (user: johnfound tags: NoCanvasGUI)

2019-04-15
07:28
[28ed3fd990] Leaf: Work on the events processing... (user: johnfound tags: shm_pixmap)
2019-04-14
19:46
[17dd2e2d8c] A little bit more simple code. (user: johnfound tags: NoCanvasGUI)
19:05
[7643a500bf] Working demo with XshmPixmap, but it is strangely slower than with XshmImage (user: johnfound tags: shm_pixmap)
18:24
[f69de4ed3f] An experimental branch for using shared memory pixmaps instead of shared memory images. (user: johnfound tags: shm_pixmap)
18:23
[65bf3ea577] Added arguments for some functions in the import file for libX11. (user: johnfound tags: NoCanvasGUI)
2019-04-10
12:50
[cb7a0a5dba] More work on the syntax highlighter. Work on the common GUI components. (user: johnfound tags: NoCanvasGUI)
2018-07-24
07:42
[fbc1786a73] Work on TAsmEdit. Simple syntax highlighter working now. The colors are derived from the Tomorrow there. (user: johnfound tags: NoCanvasGUI)
2018-07-03
12:06
[67022b13a9] More simple API for the TAsmEdit carete and selections coordinates. (user: johnfound tags: NoCanvasGUI)
2018-07-01
10:29
[95492a43df] Some work on the TAsmEdit selections. Not working though. (user: johnfound tags: NoCanvasGUI)
07:31
[c0581e08a7] Work on the GUI components. (user: johnfound tags: NoCanvasGUI)
2018-06-30
09:43
[f4913e7ddc] Work on TAsmEdit and the clipboard support in Linux. (user: johnfound tags: NoCanvasGUI)
2017-12-19
13:25
[bc0fc9c550] Work on the TText structures, TAsmEdit control (undo/redo, selections, text editing methods, text navigation methods, caret, etc.), some changes to _real_objects.inc macro library in order to provide arguments hint on method execution in the IDE. Not finished and unstable yet. (user: johnfound tags: NoCanvasGUI)
2017-12-05
12:06
[f9c4765e39] The xor mask of the caret, moved to [GUI.clTextCaret]; (user: johnfound tags: NoCanvasGUI)
11:29
[13078aacb8] Implemented inverting text caret (instead of semitransparent) because it looks better. Implemented vertical caret support in TAsmEdit. (user: johnfound tags: NoCanvasGUI)
09:56
[2ce9ccfb8f] Added TCaret.visible field for hiding the caret without detaching.

More simple and flexible code for scrolling and rendering in TAsmEdit; Proper processing of the external scroll events. (user: johnfound tags: NoCanvasGUI)

2017-12-04
15:34
[5b08d05798] Semi-transparent caret. Implemented changing insert-mode and the selection type from the keyboard (Insert and Ctrl+Alt+Insert keys.) UpdateCaretPos now updates the caret size as well. Also, vertical caret should be implemented there. (user: johnfound tags: NoCanvasGUI)
13:45
[3aeaecfe1c] Dirty hack removed. ;) (user: johnfound tags: NoCanvasGUI)
12:55
[a106042c55] Small fix in buffergap.asm: The function TextCompact only moves the gap, without reallocating the memory.

The procedures ScrollImageH and ScrollImageV has been moved to "graphics/draw.asm";

In TAsmEdit class, the aeoXXXXX options constants has been revised and extended. TAsmEdit.SetCaretXY method has been implemented. In order to handle the selection properly, the caret coordinates must be set only by calling this method.

The selection rendering was implemented in a proper way. Block and char selections are supported for now. The algorithm used allows other kind of selections to be easily added (for example line selection). (user: johnfound tags: NoCanvasGUI)

2017-11-30
09:11
[26ad3176f8] TAsmEdit work on the proper resizing and partial text rendering. (user: johnfound tags: NoCanvasGUI)
2017-11-29
12:06
[80856b2dcb] Changed the way FreeType load flags are managed. This way, the programs can render the text the user prefered way. Different kind of rendering are possible as well. For example the transparent controls require mandatory grayscale or mono rendering, while the non-transparent can be rendered with subpixel accuracy. This rendering is implemented by the constants troXXXXXXX and the global variable TextRenderOptions.

BlendImage procedure fixed to work with the new TImage. Removed the outdated procedure BlendImageWrap.

Removed the .Operation argument of TWindow.SelfPaint method.

Not finished work on TAsmEdit control. (user: johnfound tags: NoCanvasGUI)

2017-11-21
22:35
[137958b797] Win32 implementation of the new text caret mechanism. The caret blinking time intervals moved to the [GUI.caretTimes]. Syncronized the flat_gui and win_gui themes. (user: johnfound tags: NoCanvasGUI)
17:51
[083251e24f] Added constants for MsgWaitForMultiplyObjectsEx Win32 API. CreateImagePNG now accepts -1 as a length when unknown.

Implemented WaitForSystemEvents with timeout in Linux and Win32. Implemented very, very simple mechanism for text carets. It works transparently and needs minimal handling from the controls. Some (not finished) work on adaptation TMenu, TAction and other controls to the new API. TEdit now works with the new caret API. (user: johnfound tags: NoCanvasGUI)

2017-11-17
14:13
[a312962919] Some not finished fix of textcaret.asm; At least it does not crash. But needs some more simple and more elegant solution not based on timers. (user: johnfound tags: NoCanvasGUI)
2017-11-16
20:25
[db0f4990ec] A small optimization of DrawSolidRect procedure. (user: johnfound tags: NoCanvasGUI)
20:19
[1714fae0d7] Fixed bug in DrawSolidRect causing hanging of the application. (user: johnfound tags: NoCanvasGUI)
2017-11-15
13:26
[cc61b3e780] Removed unnecessary call of XFlush and XFlushGC. (user: johnfound tags: NoCanvasGUI)
10:40
[2d46744055] Preventing set wrapW/wrapH to zero. More compact DrawImageRect procedure for Linux. (user: johnfound tags: NoCanvasGUI)
2017-11-14
18:08
[1ec5c6a094] Fixed bug in Win32 GetTextBounds - not handling length of -1 normally. (user: johnfound tags: NoCanvasGUI)
12:28
[24ce1940cf] Fixed small bug in the "Linux/text.asm". BlendSolidRect procedure fixed to work with orgX/Y and added to the TestGraphics.fpr; Better (smaller) background.png for this project. (user: johnfound tags: NoCanvasGUI)
2017-11-13
20:38
[201dc418ad] Fixed wrong background image. Fixed the Win32 DrawImageRect procedure, according to the fix in the linux version. Fixed Win32 __BlendAlphaMask procedure, used in the text drawing. The TestGraphics.fpr project now works in Linux and Windows. (user: johnfound tags: NoCanvasGUI)
14:18
[30c9712d7d] Fixed bug in DrawImageRect procedure.

Introduced procedure RectIntersect2 that returns slightly different results than RectIntersect in the cases where two rectangles does not intersect. Only one of these should remains. Need some more research.

__DrawGlyph procedure fixed to wrap properly. Only in Linux though. Need to be fixed in Windows as well. Also, the code need to be revised for possible bugs and optimizations!

options.DebugMode.ComputeFPS and options.DebugMode.ShowFPS are defined for computing the animation speed in X (Linux).

More complex test code. Works without visible artifacts. (user: johnfound tags: NoCanvasGUI)

2017-11-12
21:04
[7a45e0a480] Correctly working SetImageWrap procedure. But suboptimal solution of the procedure ZeroOrgImage that is used in SetImageWrap. But as long as this operation is needed only on image resize, it is not so important actually. (user: johnfound tags: NoCanvasGUI)
07:58
[2d85be0cb6] Some implementation of the SetImageWrap procedure. It has problems when the wrapW/H becomes less than orgX/Y; And the algorithm is pretty complex. Need some general algorithmic fix. (user: johnfound tags: NoCanvasGUI)
2017-11-08
13:32
[fe507f8504] Work on the proper image wrapping. Now there is a problem with the repainting when the image wrapX/wrapY changes and the orgX/orgY are not 0; On such operation, some tearing in the middle of the image appears, hence need to be repainted - by copying the teared off parts where they belongs. (the _screen image wrapX/Y) changes and the orgX/Y are not 0; (user: johnfound tags: NoCanvasGUI)
2017-11-07
12:27
[993829fb8c] Fixed bug in random.asm (Win32 and Linux) causing resource leaks and defered crash.

Working on the 0-move scroll for TImage (by moving the image origin) - DrawImageRect funtions for Windows and Linux are adapted for the new standard.

Added test project (TestGraphics) for this feature.

Added debugging FPS display (see options.DebugMode.ShowFPS).

Work on the remaining aspects of the GUI engine. (user: johnfound tags: NoCanvasGUI)

2017-10-26
16:39
[4e013cc286] In general, a lot of work on the new GUI concept. Not finished. (user: johnfound tags: NoCanvasGUI)
2017-09-09
19:42
[071b59fa8c] Fixed the TButton rendering bug and some little misbehavior on keyboard events. (user: johnfound tags: NoCanvasGUI)
2017-08-27
18:45
[c5df17b099] Minor fix in TButton and adapting TProgress to the new API. (user: johnfound tags: NoCanvasGUI)
2017-08-26
14:58
[b55198191b] Work on the TButton proper rendering. (user: johnfound tags: NoCanvasGUI)
2017-08-21
02:51
[215e9a11c6] The next code refactoring for the GUI library. The idea is to not refresh the controls all the time, but only when needed. In addition, the drawing methods are now not fixed, but can vary for the different classes, using only common interface: TWindow:SelfPaint method; (user: johnfound tags: NoCanvasGUI)
2017-06-02
13:56
[7f2c82fcc6] Almost working, at least with TForm and TButton components. (user: johnfound tags: NoCanvasGUI)
12:29
[7a655a26e5] An attempt to increase the performance of the GUI libraries, by drawing directly on the screen images when possible. At least this approach is more flexible. Not working in this checkin! (user: johnfound tags: NoCanvasGUI)
2017-05-30
05:29
[d91b182aa9] Added constants in sqlite equates. Simplified markdown parser (some projects may need recompilation). (user: johnfound tags: FreshLibDev)
2017-05-15
07:47
[23e137dab2] Major change in the markdown parser. Changed the interface of the TranslateMarkdown procedure and renamed to TranslateMarkdown2 in order to prevet compilation of the old sources with bad arguments. (user: johnfound tags: FreshLibDev)
2017-05-11
08:33
[3e024fbdf2] Generally here are the changes made during the work on AsmBB and some work on the GUI library.

Better error check in SocketSendall. Added new function "FileTruncateTo" and implemented for Linux and Win32. Work on the TScrollable class and adapting the TTreeView and TAsmEdit for it. (user: johnfound tags: FreshLibDev)

2017-04-20
05:58
[6386df457c] Work on TAsmEdit; (user: johnfound tags: FreshLibDev)
2017-04-18
14:11
[b15c441b4d] Work on TScrollable and TAsmEdit. (user: johnfound tags: FreshLibDev)
2017-04-16
23:27
[e4d69cd129] Work on TScrollable; Fixed bug in _realobjects.inc; (user: johnfound tags: FreshLibDev)
16:45
[d335cd1b07] Work on TScrollable class. Now the scrollers can be dragged by the mouse; (user: johnfound tags: FreshLibDev)
2017-04-14
08:05
[9e39486f06] Added missing KolibriOS file. (user: johnfound tags: FreshLibDev)
2017-04-13
15:21
[d79c120dff] Removed obsolete files. (user: johnfound tags: FreshLibDev)
15:20
[4012ccb660] Work on TAsmEdit; (user: johnfound tags: FreshLibDev)
15:19
[bb87024e2e] Fixed small bug in uconfig.asm; The procedure _BlendPixel has been moved to the OS independent graphics/images.asm; The graphics/draw.asm procedure now is fully OS independent; (user: johnfound tags: FreshLibDev)
15:15
[f98c983f15] Added SocketShutDown function in network.asm; Implemented for Win32 and Linux; FileExists function has been implemented as OS dependent for Linux and Win32 in order to make it much faster. Now it uses sys_newstat and GetFileAttributes insead of open attempt; (user: johnfound tags: FreshLibDev)
2017-02-08
18:42
[43ff3d49ae] Work on different aspects of multithread applications, timers, event handling, etc. Implemented new debug macro: macro OutputCallStack depth {}; (user: johnfound tags: FreshLibDev)
2017-02-07
21:17
[75bcc2e8e9] Working on the GUI multithread support. (user: johnfound tags: FreshLibDev)
2017-02-05
22:22
[2a1f7f56ad] Added CreateDirectory function to the file functions and implemented for Linux and Win32. Fixed a bug in the Linux implementation of SocketAccept. Fixed major bug in the Linux implementation of WaitForMutex function. Added some locks in order to prevent flickering in multithread GUI applications. Maybe some of them should be removed later. (user: johnfound tags: FreshLibDev)
2017-01-23
09:41
[99a179cc7b] Fixed small bug in TProgressbar.asm causing the progress bar to not indicate properly on big values. (user: johnfound tags: FreshLibDev)
06:42
[80906c1778] Fixed bug in deflate.asm not handling properly uncompressed blocks. (user: johnfound tags: FreshLibDev)