View Issue Details

IDProjectCategoryView StatusLast Update
0027899LazarusFCLpublic2020-03-31 10:40
ReporterAntônio Galvão Assigned ToJuha Manninen  
PrioritynormalSeverityminorReproducibilityN/A
Status resolvedResolutionno change required 
Summary0027899: Easy to use curved text procedure commit (unit and demo)
DescriptionEasy to use curved text procedure commit (unit and demo)
TagsNo tags attached.
Fixed in Revision
LazTarget-
Widgetset
Attached Files

Activities

Antônio Galvão

2015-04-18 20:27

reporter  

BezierTextOut.zip (69,640 bytes)

Antônio Galvão

2015-04-19 06:22

reporter   ~0083044

Last edited: 2015-04-19 06:30

View 6 revisions

Where you read:

-----------------------------------------------------------
  with ACanvas do
  begin
    SetLength(flatPts, ptCnt);
    SetLength(types, ptCnt);
    SetLength(distances, ptCnt);

    flatPts := GetBezierPolyline(BezierPoints);
    ptCnt := Length(flatPts);
    if ptCnt < 1 then Exit;
-----------------------------------------------------------

Replace it by:

-----------------------------------------------------------
  with ACanvas do
  begin
    flatPts := GetBezierPolyline(BezierPoints);
    ptCnt := Length(flatPts);
    if ptCnt < 1 then Exit;

    SetLength(flatPts, ptCnt);
    SetLength(types, ptCnt);
    SetLength(distances, ptCnt);
-----------------------------------------------------------

Thanks engkin.

Related to discussion in:
http://forum.lazarus.freepascal.org/index.php/topic,28079.msg174934/topicseen.html#new

Antônio Galvão

2015-04-20 19:31

reporter  

curvedtext.zip (3,071 bytes)

Antônio Galvão

2015-04-20 19:31

reporter   ~0083063

Last edited: 2015-04-21 23:04

View 4 revisions

Updated CurvedText unit with some bug fixes and a new procedure CircleTextOut.

Fast and light. Cross-platform.

Of course this code is not some kind of new technology, but could be very useful to those who don't want to use a large library to perform a single task.

Thaddy de Koning

2016-11-06 07:03

reporter   ~0095606

Last edited: 2016-11-06 10:34

View 3 revisions

That code depends on windows but only for SetBkMode (Handle, TRANSPARENT);
If you remove the windows unit and replace SetBkMode then the unit is cross-platform. I simply commented it out and it works on debian arm-linux.
You need to replace it with something, though, because the background color is not correctly picked up of course.

[edit]
Replace windows with LCLIntf is enough.

Juha Manninen

2016-11-09 15:40

developer   ~0095705

Why is the code here in bug tracker?
The category is "FCL". Where should such code be placed?

Juha Manninen

2020-03-31 10:40

developer   ~0121790

Resolving.

Issue History

Date Modified Username Field Change
2015-04-18 20:27 Antônio Galvão New Issue
2015-04-18 20:27 Antônio Galvão File Added: BezierTextOut.zip
2015-04-18 21:09 Florian Project FPC => Lazarus
2015-04-19 06:22 Antônio Galvão Note Added: 0083044
2015-04-19 06:23 Antônio Galvão Note Edited: 0083044 View Revisions
2015-04-19 06:24 Antônio Galvão Note Edited: 0083044 View Revisions
2015-04-19 06:29 Antônio Galvão Note Edited: 0083044 View Revisions
2015-04-19 06:29 Antônio Galvão Note Edited: 0083044 View Revisions
2015-04-19 06:30 Antônio Galvão Note Edited: 0083044 View Revisions
2015-04-20 19:31 Antônio Galvão File Added: curvedtext.zip
2015-04-20 19:31 Antônio Galvão Note Added: 0083063
2015-04-20 23:14 Antônio Galvão Note Edited: 0083063 View Revisions
2015-04-20 23:30 Antônio Galvão Note Edited: 0083063 View Revisions
2015-04-21 23:04 Antônio Galvão Note Edited: 0083063 View Revisions
2016-11-06 07:03 Thaddy de Koning Note Added: 0095606
2016-11-06 07:04 Thaddy de Koning Note Edited: 0095606 View Revisions
2016-11-06 10:34 Thaddy de Koning Note Edited: 0095606 View Revisions
2016-11-09 15:40 Juha Manninen Note Added: 0095705
2020-03-31 10:40 Juha Manninen Assigned To => Juha Manninen
2020-03-31 10:40 Juha Manninen Status new => resolved
2020-03-31 10:40 Juha Manninen Resolution open => no change required
2020-03-31 10:40 Juha Manninen LazTarget => -
2020-03-31 10:40 Juha Manninen Note Added: 0121790