Jakub Sobon
c2db521710
Merge branch 'text-widget/3/line-scanner' into text-widget/4/scroll-tracker
2018-05-27 15:51:25 +01:00
Jakub Sobon
39c624a84c
Making it more obvious what width in the test cases is.
...
- renaming it to cvsWidth.
- adding a comment explaining that it is the width of the canvas.
2018-05-27 15:49:13 +01:00
Jakub Sobon
929bf2b8fc
The text widget now supports full-width runes.
...
Refactoring the draw() implementation to make it more readable:
- taking out the line trimming logic.
- taking out the drawing of the scroll up/down markers.
2018-05-20 22:51:38 +01:00
Jakub Sobon
ecb27cd1c5
Adding licence.
2018-05-14 22:45:40 +01:00
Jakub Sobon
4f65598b39
Merge branch 'text-widget/4/scroll-tracker' into text-widget/5/widget
2018-05-14 22:45:29 +01:00
Jakub Sobon
a386289162
Adding licence.
2018-05-14 22:44:49 +01:00
Jakub Sobon
6bbd64a30d
Merge branch 'text-widget/3/line-scanner' into text-widget/4/scroll-tracker
2018-05-14 22:44:41 +01:00
Jakub Sobon
2f210f3ab9
Adding licence.
2018-05-14 22:44:18 +01:00
Jakub Sobon
d6cd0106fb
Merge branch 'text-widget/2/write-options' into text-widget/3/line-scanner
2018-05-14 22:44:08 +01:00
Jakub Sobon
a3dfd1a4a5
Adding licence.
2018-05-14 22:43:48 +01:00
Jakub Sobon
d0ca7ec5f5
Merge branch 'text-widget/1/widget-options' into text-widget/2/write-options
2018-05-14 22:43:36 +01:00
Jakub Sobon
d3db859678
Adding licence.
2018-05-14 22:42:39 +01:00
Jakub Sobon
8df67c6d04
Merge branch 'text-widget/4/scroll-tracker' into text-widget/5/widget
2018-05-14 22:35:10 +01:00
Jakub Sobon
a13c1f6be2
Merge branch 'text-widget/3/line-scanner' into text-widget/4/scroll-tracker
2018-05-14 22:34:48 +01:00
Jakub Sobon
6b39babddf
Merge branch 'text-widget/2/write-options' into text-widget/3/line-scanner
2018-05-14 22:34:10 +01:00
Jakub Sobon
bb73338abb
Merge branch 'text-widget/1/widget-options' into text-widget/2/write-options
2018-05-14 22:33:46 +01:00
Jakub Sobon
2f384b3b1c
Merge branch 'master' into text-widget/1/widget-options
2018-05-14 22:33:05 +01:00
Jakub Sobon
b98013ea45
Removing commit that doesn't belong to this history.
2018-05-14 22:32:07 +01:00
Jakub Sobon
d6c153fbaf
Implementing the text widget.
...
And adding a demo.
2018-05-14 22:16:14 +01:00
Jakub Sobon
4c54b8a46e
Adding an object that tracks the scrolling state.
2018-05-14 22:13:16 +01:00
Jakub Sobon
7d14d2219f
Adding line scanner.
...
The line scanner identifies and counts lines in the input text and
performs wrapping if required.
2018-05-14 22:12:08 +01:00
Jakub Sobon
e786777410
Defining options for text written to the widget.
...
Each set of options applies to a range of characters equal to the length
of the text added.
E.g. on write calls like:
Write("text", opts1)
Write("long text", opts2)
The two passed options will be stored as:
opts1 for byte range low:0, high:4
opts2 for byte range low:4, high:13
The text itself will be stored in a bytes.Buffer.
2018-05-14 22:08:53 +01:00
Jakub Sobon
a824210882
Defining options for the text widget.
2018-05-14 22:07:04 +01:00
Jakub Sobon
79218c9233
Fixing lint errors.
...
- Missing comments.
- Invalid comments.
- Stuttering public name.
2018-05-11 16:32:37 +01:00
Jakub Sobon
f62bf80686
Deleting binary file.
2018-05-09 21:37:01 +01:00
Jakub Sobon
1bb3a422fc
Replacing strings.Builder with bytes.Buffer.
...
For backward compatibility.
2018-05-08 19:01:07 +01:00
Jakub Sobon
e2a4927612
Adding licences.
2018-05-08 01:14:36 +01:00
Jakub Sobon
c28cec560e
Implementing the Gauge widget.
...
Fixes #6 .
2018-05-08 01:12:36 +01:00
Jakub Sobon
88fc5b2782
Unifying the last API in the draw package.
...
Fixes #23 .
2018-05-07 16:50:27 +01:00
Jakub Sobon
b62c9406ab
Renaming draw.Box to draw.Border and improving its API.
...
Also adding tests for draw.Rectangle.
Updates #23 and #22 .
2018-05-07 13:33:18 +01:00
Jakub Sobon
2473cd46d6
A function that draws a rectangle.
...
Also:
- implementing text trimming and wrapping.
- Switching log.Fatalf to panic() for more understandable test errors.
2018-05-06 19:28:52 +01:00
Jakub Sobon
bf1fc73140
Adding an informative MinimumSize for the Fake widget.
2018-04-23 00:47:49 +01:00
Jakub Sobon
2cd3343c81
Adding licences and a script to automate the same.
2018-04-14 23:06:57 +01:00
Jakub Sobon
5ce9e90d68
Test coverage for processing of Keyboard and Mouse events.
2018-04-14 22:00:25 +01:00
Jakub Sobon
3a058b407f
Renaming widget to widgetapi for consistency with terminalapi.
2018-04-09 03:33:24 +01:00
Jakub Sobon
5c32ca7f7f
Support for keyboard, mouse, widget options and alignment.
2018-04-09 03:17:40 +01:00
Jakub Sobon
0bbb28d13d
Adding a fake widget.
2018-04-07 14:24:55 +02:00