소스 검색

using vector image for spline toolbar

Unknown 6 년 전
부모
커밋
b44a7cf020
2개의 변경된 파일358개의 추가작업 그리고 177개의 파일을 삭제
  1. 294 141
      vectoredit/umain.lfm
  2. 64 36
      vectoredit/umain.pas

+ 294 - 141
vectoredit/umain.lfm

@@ -1,5 +1,5 @@
 object Form1: TForm1
-  Left = 602
+  Left = 599
   Height = 622
   Top = 0
   Width = 981
@@ -36956,141 +36956,6 @@ object Form1: TForm1
     left = 392
     top = 96
   end
-  object CurveImageList: TBGRAImageList
-    left = 680
-    top = 96
-    Bitmap = {
-      4C69040000001000000010000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000001000022010000C5010000FC0100
-      00C5010000220000000000000000000000000000000000000000000000000000
-      000000000000000000000000000000000000010000C4B2B2B2FFFBFBFBFFB2B2
-      B2FF00000ED00000F51400000000000000000000000000000000000000000000
-      000000000000000000000000000000000000010000FBFBFBFBFFFFFFFFFFFBFB
-      FBFF000004FF0000F5FF0000F5E40000F5AB0000F5490000F501000000000000
-      000000000000000000000000000000000000010000C4B2B2B2FFFBFBFBFF0B0B
-      0BFF000014D60000F56F0000F5A30000F5E40000F5FF0000F5C90000F51F0000
-      00000000000000000000000000000000000001000022010000C5010000FC0C0C
-      0CFF161616FD00000000000000000000F5040000F55D0000F5EE0000F5EA0000
-      F520000000000000000000000000000000000000000000000000000000000C0C
-      0CFEC3C3C3FF202020FA0000000000000000000000000000F5260000F5EF0000
-      F5C10000F5020000000000000000000000000000000000000000000000000C0C
-      0CFEEEEEEEFFD6D6D6FF202020FA0000000000000000000000000000F55B0000
-      F5FF0000F5640000000000000000000000000000000000000000000000000C0C
-      0CFEEEEEEEFFFFFFFFFFD6D6D6FF202020FA0000000000000000000000000000
-      F5D60000F5B70000000000000000000000000000000000000000000000000C0C
-      0CFEEEEEEEFFFFFFFFFFFFFFFFFFD6D6D6FF212121F900000000000000000000
-      F58C0000F5F70000F50A00000000000000000000000000000000000000000C0C
-      0CFEDCDCDCFFE0E0E0FFF1F1F1FF4A4A4AFA151515FD080808FC000000000000
-      F5510000F5FF0000F53100000000000000000000000000000000000000000808
-      08FD111111FC131313FEEEEEEEFF5A5A5AF40100007B0100000E000000000000
-      F5310000F5FF0000F55300000000000000000000000000000000000000000100
-      001F010000032B2B2BBAADADADFEB6B6B6FF2D2D2DC500000000000000000000
-      F50D0000F5F80000F56000000000000000000000000000000000000000000000
-      0000000000000100004F434343F6DADADAFF0C0C0CFE01000019000000000000
-      00000000F5170000F50200000000000000000000000000000000000000000000
-      000000000000010000041C1C1CED171717FA2A2A2AD401000040000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000001000016010000020000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000000000000000000000000000001000022010000C5010000FC0100
-      00C5010000220000000000000000000000000000000001000022010000C50100
-      00FC010000C5010000220000000000000000010000C4B2B2B2FFFBFBFBFFB2B2
-      B2FF010000C400000000000000000000000000000000010000C4B2B2B2FFFBFB
-      FBFFB2B2B2FF010000C40000000000000000010000FBFBFBFBFFFFFFFFFFFBFB
-      FBFF010000FB00000000000000000000000000000000000001FCFBFBFBFFFFFF
-      FFFFFBFBFBFF010000FB0000000000000000010000C4B2B2B2FFFBFBFBFFB2B2
-      B2FF010000C400000000000000000000FA370000FABC00003AFFB2B2B2FFFBFB
-      FBFFB2B2B2FF010000C4000000000000000001000022010000C5010000FC0100
-      00C5010000220000FA0E0000FA950000FAFD0000FAE70000B98300000ACD0000
-      03FF00001ADC0100002200000000000000000000000000000000000000000000
-      00000000FA250000FAE00000FAFB0000FA8D0000FA0B000000000000FA050000
-      FAFE0000FA7C0000000000000000000000000000000000000000000000000000
-      FA280000FAE50000FAE80000FA36000000000000000000000000000000000000
-      FAEC0000FA9300000000000000000000000000000000000000000000FA0B0000
-      FADE0000FAE60000FA2900000000000000000000000000000000000000000000
-      FAD50000FAAB00000000000000000000000000000000000000000000FA920000
-      FAFC0000FA3A0000000000000000000000000000000000000000000000000000
-      FABD0000FAC2000000000000000000000000000000000000FA330000FAFD0000
-      FA8F000000000000000000000000000000000000000000000000000000000000
-      FAA60000FAD9000000000000000000000000000000000000FAB70000FAEA0000
-      FA0C000000000000000000000000000000000000000000000000000000000000
-      FA8F0000FAF00000000000000000000000000000FA3D0000FAFF0000FA730000
-      0000000000000000000000000000000000000000000000000000000000000000
-      FA780000FAFF0000FA0A00000000000000000000FABE0000FAE40000FA090000
-      0000000000000000000000000000000000000000000000000000000000000000
-      FA600000FAFF0000FA2000000000000000000000FAA80000FA58000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      FA440000FAFF0000FA2D00000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      FA010000FA310000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000001000022010000C5010000FC010000C501000022000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000010000C4B2B2B2FFFBFBFBFFB2B2B2FF010000C4000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000010000FBFBFBFBFFFFFFFFFFFBFBFBFF010000FB000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000010000C4B2B2B2FFFBFBFBFFB2B2B2FF010000C4000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000001000022010000C5010000FC010000C501000022000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000000000000F5020000F5160000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000F50C0000F5960000F5EA0000F5FF0000F5D40000F562000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      F51A0000F5CE0000F5FA0000F5A30000F5770000F5C60000F5FE0000F57B0000
-      00000000000000000000000000000000000000000000000000000000F5150000
-      F5DB0000F5F00000F54600000000000000000000F5030000F5A00000F5FF0000
-      F56900000000000000000000000000000000000000000000F50A0000F5C80000
-      F5F40000F536000000000000000000000000000000000000F5010000F5B20000
-      F5F80000F5370000000000000000000000000000F5030000F5B10000F5FC0000
-      F54D0000000000000000000000000000000000000000000000000000F5110000
-      F5DC0000F5E30000F51600000000000000000000F5960000F5FE0000F5680000
-      0000000000000000000000000000000000000000000000000000000000000000
-      F52F0000F5F50000F5BC0000F5030000F5280000F5FF0000F586000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000F55D0000F5FE0000F537000000000000F52F00000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000F51F00000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000000001000022010000C5010000FC010000C501000022000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000010000C4B2B2B2FFFBFBFBFFB2B2B2FF010000C4000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000010000FBFBFBFBFFFFFFFFFFFBFBFBFF010000FB000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      000000000000000001C5B2B2B2FFFBFBFBFFB2B2B2FF010000C4000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000B78E000037FF000002FF000036FF00008C51000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000F12C0000F1F90000F1A50000F10D0000F1E40000F1CA0000F1010000
-      0000000000000000000000000000000000000000000000000000000000000000
-      F1030000F1CA0000F1E90000F114000000000000F15A0000F1FF0000F1640000
-      0000000000000000000000000000000000000000000000000000000000000000
-      F1770000F1FF0000F15600000000000000000000F1010000F1C10000F1EA0000
-      F1100000000000000000000000000000000000000000000000000000F1270000
-      F1F70000F1AC000000000000000000000000000000000000F12F0000F1FC0000
-      F19100000000000000000000000000000000000000000000F1020000F1C30000
-      F1ED0000F11700000000000000000000000000000000000000000000F1940000
-      F1FB0000F12E000000000000000000000000000000000000F16F0000F1FF0000
-      F15D0000000000000000000000000000000000000000000000000000F1110000
-      F1EB0000F1BF0000000000000000000000000000F1220000F1F40000F1B40000
-      0000000000000000000000000000000000000000000000000000000000000000
-      F1660000F1FF0000F158000000000000F1010000F1BD0000F1F00000F11C0000
-      0000000000000000000000000000000000000000000000000000000000000000
-      F1030000F1CB0000F1E30000F10C0000F1210000F1FC0000F162000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      00000000F1380000F1FC0000F147000000000000F11900000000000000000000
-      0000000000000000000000000000000000000000000000000000000000000000
-      0000000000000000F11700000000
-    }
-  end
   object PenStyleImageList: TBGRAImageList
     left = 320
     top = 160
@@ -37278,7 +37143,7 @@ object Form1: TForm1
     left = 104
     top = 240
     Bitmap = {
-      4C691400000018000000180000000000000000000000000000005C5C5CFF5C5C
+      4C691800000018000000180000000000000000000000000000005C5C5CFF5C5C
       5CFF5C5C5CFF5C5C5CFF5C5C5CFF5C5C5CFF5C5C5CFF5C5C5CFF5C5C5CFF5C5C
       5CFF5C5C5CFF5C5C5CFF5C5C5CFF5C5C5C8E0000000000000000000000000000
       00000000000000000000000000000000000000000000000000005C5C5CFF9191
@@ -37494,9 +37359,9 @@ object Form1: TForm1
       2FFF845643FE815441FE69422FFC00000000000000000000000069422F536A43
       30E469422FFF404044FF3F3F42FF3E3E41FF3E3E40FF3D3D3FFF3C3C3EFF3B3B
       3DFF3A3A3CFF39393BFF38383AFF383838FF373737FF69422F2D000000006942
-      2F5D6A422FFB6A422FFB69422F5C69422F0269422F776A4330FA69422FFF6642
-      30FF492F22FF2A2044FF3A2629FF5F3D2CFF664230FF664230FF664230FF6642
-      30FF664230FF664230FF543627FF302136FF39262AFF613F2EFF674230FF6942
+      2F5D6A422FFB6A422FFB69422F5C69422F0269422F776A4330FA69422FFF6742
+      2FFF492F22FF2A2044FF3A2629FF5F3D2CFF664230FF664230FF664230FF6642
+      30FF664230FF664230FF543627FF302136FF39262AFF613F2EFF68422FFF6942
       2FFF6A4331C869422F460000000069422F7469422FFF916D5FFFA68276FF5E46
       3CFF25205AFF2D33B2FF2E2D80FF524150FF9A776AFFBE9383FFBE9484FFBE94
       85FFB79080FF7D625AFF41375CFF2B2F9EFF302E78FF36242EFF7E5C4EFFA078
@@ -38718,7 +38583,295 @@ object Form1: TForm1
       BAFF0000000000000000000000000000000000000000000000002222FFFF3131
       FFFF5959FFFF8181FFFFA2A2FFFFBABAFFFFC4C4FFFFC1C1FFFFB2B2FFFF9A9A
       FFFF7C7CFFFF5C5CFFFF3E3EFFFF2525FFFF1212FFFF0707ECFF0202CBFF0000
-      BAFF000000000000000000000000
+      BAFF0000000000000000000000000000000000000075070707F1000000FF0000
+      00FF000000C20000002500000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000075000000FF222223FF797979FF5656
+      56FF000000FF070709E400000011000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000070707F1202020FFE3E3E3FFFFFFFFFFFEFE
+      FEFF8B8B8BFF000000FF0000A6E70000FF9F0000FF5F0000FF16000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000FF787878FFFFFFFFFF8D8D8DFFC9C9
+      C9FFDCDCDCFF000000FF000085FF0000FFFF0000FFFF0000FFFB0000FFB50000
+      FF490000FF010000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000030303FF565656FFFEFEFEFF5F5F5FFF1313
+      13FF929292FF000000FF000094FF0000FFFF0000FFFF0000FFFF0000FFFF0000
+      FFFF0000FFCB0000FF4000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000C2000000FF8B8B8BFF565656FFA0A0
+      A0FF292929FF0F0F0FFF0000946D0000FF760000FFC10000FFFD0000FFFF0000
+      FFFF0000FFFF0000FFFE0000FF980000FF080000000000000000000000000000
+      000000000000000000000000000000000025070707E4000000FF2A2A2AFFCDCD
+      CDFFE3E3E3FF373737FC1F1F1F9600000001000000000000FF1F0000FF8C0000
+      FFF50000FFFF0000FFFF0000FFFF0000FFC90000FF1400000000000000000000
+      00000000000000000000000000000000000000000011000000782C2C2CF4CDCD
+      CDFFFFFFFFFFEBEBEBFF474747F7232323AC0000000600000000000000000000
+      FF1A0000FFAB0000FFFF0000FFFF0000FFFF0000FFCE0000FF0E000000000000
+      00000000000000000000000000000000000000000000000000002E2E2EDBCDCD
+      CDFFFFFFFFFFFFFFFFFFF1F1F1FF585858F7252525BF0000000B000000000000
+      0000000000000000FF690000FFFB0000FFFF0000FFFF0000FFA9000000000000
+      00000000000000000000000000000000000000000000000000002E2E2EDBCDCD
+      CDFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6FF696969F8262626CF000000120000
+      000000000000000000000000FF600000FFFE0000FFFF0000FFFF0000FF4F0000
+      00000000000000000000000000000000000000000000000000002E2E2EDBCDCD
+      CDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFAFAFAFF7C7C7CF9252525DE0000
+      001C0000000000000000000000000000FF990000FFFF0000FFFF0000FFD70000
+      FF010000000000000000000000000000000000000000000000002E2E2EDBCDCD
+      CDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFDFDFDFF888888FB2323
+      23E80000002000000000000000000000FF110000FFEE0000FFFF0000FFFF0000
+      FF4D0000000000000000000000000000000000000000000000002E2E2EDBCDCD
+      CDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6FFA8A8A8FD262626F92929
+      29C9000000200000000000000000000000000000FF870000FFFF0000FFFF0000
+      FFB20000000000000000000000000000000000000000000000002E2E2EDBCDCD
+      CDFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF6F6F6FFB1D1D1DDF000000400000
+      0000000000000000000000000000000000000000FF220000FFFD0000FFFF0000
+      FFF90000FF0F00000000000000000000000000000000000000002E2E2EDBCDCD
+      CDFFEAEAEAFF808080F8888888F9FFFFFFFFD3D3D3FF1C1C1CF60000001B0000
+      000000000000000000000000000000000000000000000000FFC90000FFFF0000
+      FFFF0000FF5600000000000000000000000000000000000000002E2E2EDB6D6D
+      6DFE191919FB202020AA151515FCEEEEEEFFFFFFFFFF878787F9272727B70000
+      000000000000000000000000000000000000000000000000FF800000FFFF0000
+      FFFF0000FF9500000000000000000000000000000000000000001F1F1FCE2727
+      27C10000002E00000000282828BBA6A6A6FEFFFFFFFFF2F2F2FF2D2D2DF90000
+      005300000000000000000000000000000000000000000000FF440000FFFF0000
+      FFFF0000FFC80000000000000000000000000000000000000000000000090000
+      0000000000000000000000000049333333F8FBFBFBFFE6E6E6FF696969FC1B1B
+      1BE100000000000000000000000000000000000000000000FF130000FFFE0000
+      FFFF0000FFF40000FF0100000000000000000000000000000000000000000000
+      0000000000000000000000000001272727E55A5A5AFA151515FB232323A60000
+      002F0000000000000000000000000000000000000000000000000000FFE80000
+      FFFF0000FFFF0000FF1F00000000000000000000000000000000000000000000
+      0000000000000000000000000000000000571515158600000019000000000000
+      00000000000000000000000000000000000000000000000000000000FFC00000
+      FFFF0000FFFF0000FF4800000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000000000000000000FF980000
+      FFFF0000FFFF0000FF6E00000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000000000000000000FF5E0000
+      FFFF0000FFFF0000FF5D00000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000000000000000000FF010000
+      FF5C0000FF560000FF0100000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000075070707F1000000FF0000
+      00FF000000C20000002500000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000025000000C2000000FF0000
+      00FF070707F1000000750000000000000075000000FF222222FF797979FF5656
+      56FF000000FF070707E400000011000000000000000000000000000000000000
+      000000000000000000000000000000000011070707E4000000FF565656FF7979
+      79FF222222FF000000FF00000075070707F1202020FFE3E3E3FFFFFFFFFFFEFE
+      FEFF8B8B8BFF000000FF00000078000000000000000000000000000000000000
+      000000000000000000000000000000000078000000FF8B8B8BFFFEFEFEFFFFFF
+      FFFFE3E3E3FF202020FF070707F1000000FF787878FFFFFFFFFFFFFFFFFFFFFF
+      FFFFDCDCDCFF000000FF000000AA000000000000000000000000000000000000
+      000000000000000000000000FF0200004DC4000000FFDCDCDCFFFFFFFFFFFFFF
+      FFFFFFFFFFFF787878FF000000FF030303FF565656FFFEFEFEFFFFFFFFFFFFFF
+      FFFFC6C6C6FF000000FF0000009A000000000000000000000000000000000000
+      00000000FF120000FF760000FFDE000094FF000000FFC6C6C6FFFFFFFFFFFFFF
+      FFFFFEFEFEFF565656FF030303FF000000C2000000FF8B8B8BFFDDDDDDFFC6C6
+      C6FF3B3B3BFF000000FF000000420000000000000000000000000000FF100000
+      FF8A0000FFF20000FFFF0000FFFF0000D6FF000000FF3B3B3CFFC6C6C6FFDDDD
+      DDFF8B8B8BFF000000FF000000C200000025070707E4000000FF000000FF0000
+      00FF000000FF000000890000000000000000000000000000FF520000FFE70000
+      FFFF0000FFFF0000FFFF0000FFFF0000FFEA000081C8000000FF000000FF0000
+      00FF000000FF070707E400000025000000000000001100000078000000AB0000
+      009A0000004200000000000000000000FF020000FF8C0000FFFE0000FFFF0000
+      FFFF0000FFFF0000FFD00000FF5E0000FF070000000000009871000094FF0000
+      84FF0000A1DD0000001100000000000000000000000000000000000000000000
+      000000000000000000000000FF020000FFA20000FFFF0000FFFF0000FFFF0000
+      FFE20000FF540000FF010000000000000000000000000000FF3F0000FFFF0000
+      FFFF0000FFBF0000000000000000000000000000000000000000000000000000
+      000000000000000000000000FF950000FFFF0000FFFF0000FFFF0000FFAF0000
+      FF0E00000000000000000000000000000000000000000000FF3F0000FFFF0000
+      FFFF0000FFBF0000000000000000000000000000000000000000000000000000
+      0000000000000000FF610000FFFF0000FFFF0000FFFF0000FF960000FF010000
+      000000000000000000000000000000000000000000000000FF3F0000FFFF0000
+      FFFF0000FFBF0000000000000000000000000000000000000000000000000000
+      00000000FF1D0000FFF20000FFFF0000FFFF0000FFA600000000000000000000
+      000000000000000000000000000000000000000000000000FF3F0000FFFF0000
+      FFFF0000FFBF0000000000000000000000000000000000000000000000000000
+      00000000FFAD0000FFFF0000FFFF0000FFD50000FF0A00000000000000000000
+      000000000000000000000000000000000000000000000000FF3F0000FFFF0000
+      FFFF0000FFBF0000000000000000000000000000000000000000000000000000
+      FF330000FFFE0000FFFF0000FFFD0000FF390000000000000000000000000000
+      000000000000000000000000000000000000000000000000FF3F0000FFFF0000
+      FFFF0000FFBF0000000000000000000000000000000000000000000000000000
+      FFB00000FFFF0000FFFF0000FFA7000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000FF3F0000FFFF0000
+      FFFF0000FFBF00000000000000000000000000000000000000000000FF270000
+      FFFD0000FFFF0000FFFD0000FF28000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000FF3F0000FFFF0000
+      FFFF0000FFBF00000000000000000000000000000000000000000000FF990000
+      FFFF0000FFFF0000FFB000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000FF3F0000FFFF0000
+      FFFF0000FFBF000000000000000000000000000000000000FF160000FFF70000
+      FFFF0000FFFF0000FF3D00000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000FF3F0000FFFF0000
+      FFFF0000FFBF000000000000000000000000000000000000FF820000FFFF0000
+      FFFF0000FFC80000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000FF3F0000FFFF0000
+      FFFF0000FFBF0000000000000000000000000000FF0A0000FFEC0000FFFF0000
+      FFFF0000FF540000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000FF3F0000FFFF0000
+      FFFF0000FFBF0000000000000000000000000000FF610000FFFF0000FFFF0000
+      FFDC0000FF020000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000FF3F0000FFFF0000
+      FFFF0000FFBF0000000000000000000000000000FF5D0000FFFF0000FFFF0000
+      FF67000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000FF210000FFFB0000
+      FFFF0000FF9D0000000000000000000000000000FF010000FF550000FF5E0000
+      FF01000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000000000000000000FF3F0000
+      FF690000FF0D0000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000049030303DE000000FF0000
+      00FF030303DE0000004900000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000003A070707FB090909FF6C6C6CFF6C6C
+      6CFF090909FF070707FB0000003A000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000B7000000FFBDBDBDFFFFFFFFFFFFFF
+      FFFFBDBDBDFF000000FF000000B7000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000EA232323FFFEFEFEFFFFFFFFFFFFFF
+      FFFFFEFEFEFF232323FF000000EA000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000D90E0E0EFFEEEEEEFFFFFFFFFFFFFF
+      FFFFEEEEEEFF0E0E0EFF000000D9000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000082000000FF646464FFD5D5D5FFD5D5
+      D5FF646464FF000000FF00000082000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000009000000BF000000FF000000FF0000
+      00FF000000FF000000BF00000009000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000400000060000000A40000
+      00A4000000600000000400000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000FF150000FF460000
+      FF460000FF150000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000FF120000FF980000FFFB0000FFFF0000
+      FFFF0000FFFB0000FF980000FF12000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000FF1D0000FFD50000FFFF0000FFFF0000FFFF0000
+      FFFF0000FFFF0000FFFF0000FFD50000FF1D0000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000FF0C0000FFD50000FFFF0000FFFF0000FFFF0000FFCB0000
+      FFCB0000FFFF0000FFFF0000FFFF0000FFD50000FF0C00000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000FFA80000FFFF0000FFFF0000FFF80000FF58000000000000
+      00000000FF580000FFF80000FFFF0000FFFF0000FFA800000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000FF5C0000FFFF0000FFFF0000FFFE0000FF5B00000000000000000000
+      0000000000000000FF5B0000FFFE0000FFFF0000FFFF0000FF5C000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      FF1C0000FFEE0000FFFF0000FFFF0000FF980000000000000000000000000000
+      000000000000000000000000FF980000FFFF0000FFFF0000FFEE0000FF1C0000
+      00000000000000000000000000000000000000000000000000000000FF010000
+      FFB90000FFFF0000FFFF0000FFDB0000FF0B0000000000000000000000000000
+      000000000000000000000000FF0B0000FFDB0000FFFF0000FFFF0000FFB90000
+      FF010000000000000000000000000000000000000000000000000000FF6B0000
+      FFFF0000FFFF0000FFFC0000FF3B000000000000000000000000000000000000
+      00000000000000000000000000000000FF3B0000FFFC0000FFFF0000FFFF0000
+      FF6B00000000000000000000000000000000000000000000FF250000FFF50000
+      FFFF0000FFFF0000FF8800000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000FF880000FFFF0000FFFF0000
+      FFF50000FF250000000000000000000000000000FF030000FFC60000FFFF0000
+      FFFF0000FFD10000FF0700000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000FF070000FFD10000FFFF0000
+      FFFF0000FFC60000FF0300000000000000000000FF5E0000FFFF0000FFFF0000
+      FFF80000FF2F0000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000FF2F0000FFF80000
+      FFFF0000FFFF0000FF5E00000000000000000000FF5D0000FFFF0000FFFF0000
+      FF78000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000000000000000000FF780000
+      FFFF0000FFFF0000FF5D0000000000000000000000000000FF550000FF5E0000
+      FF01000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000000000000000000FF010000
+      FF5E0000FF550000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000049030303DE000000FF0000
+      00FF030303DE0000004900000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000003A070707FB090909FF6C6C6CFF6C6C
+      6CFF090909FF070707FB0000003A000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000B7000000FFBDBDBDFFFFFFFFFFFFFF
+      FFFFBDBDBDFF000000FF000000B7000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000EA232323FFFEFEFEFFFFFFFFFFFFFF
+      FFFFFEFEFEFF232323FF000000EA000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000D90E0E0EFFEEEEEEFFFFFFFFFFFFFF
+      FFFFEEEEEEFF0E0E0EFF000000D9000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000082000000FF646464FFD5D5D5FFD5D5
+      D5FF646464FF000000FF00000082000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000E230000070FF000000FF000000FF0000
+      00FF000000FF00006DFB0000C017000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000FFAB0000FDFF0000C1FF00007AE60000
+      83F20000C1FF0000FDFF0000FF84000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000FF320000FFFE0000FFFF0000FFFE0000FF310000
+      FF580000FFFF0000FFFF0000FFF40000FF180000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      000000000000000000000000FFB60000FFFF0000FFFF0000FFAA000000000000
+      FF010000FFCE0000FFFF0000FFFF0000FF940000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000FF3C0000FFFF0000FFFF0000FFFC0000FF29000000000000
+      00000000FF480000FFFF0000FFFF0000FFFA0000FF2300000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000FFC00000FFFF0000FFFF0000FFA000000000000000000000
+      0000000000000000FFBF0000FFFF0000FFFF0000FFA400000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      00000000FF460000FFFF0000FFFF0000FFF90000FF2200000000000000000000
+      0000000000000000FF390000FFFF0000FFFF0000FFFD0000FF2F000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      FF010000FFC90000FFFF0000FFFF0000FF960000000000000000000000000000
+      000000000000000000000000FFAE0000FFFF0000FFFF0000FFB4000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      FF500000FFFF0000FFFF0000FFF60000FF1B0000000000000000000000000000
+      000000000000000000000000FF2A0000FFFC0000FFFF0000FFFF0000FF3F0000
+      00000000000000000000000000000000000000000000000000000000FF020000
+      FFD20000FFFF0000FFFF0000FF8C000000000000000000000000000000000000
+      00000000000000000000000000000000FF9E0000FFFF0000FFFF0000FFC50000
+      FF010000000000000000000000000000000000000000000000000000FF5A0000
+      FFFF0000FFFF0000FFF20000FF15000000000000000000000000000000000000
+      00000000000000000000000000000000FF1F0000FFF80000FFFF0000FFFF0000
+      FF4E00000000000000000000000000000000000000000000FF040000FFDA0000
+      FFFF0000FFFF0000FF8200000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000FF8E0000FFFF0000FFFF0000
+      FFD30000FF03000000000000000000000000000000000000FF640000FFFF0000
+      FFFF0000FFED0000FF0F00000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000FF150000FFF20000FFFF0000
+      FFFF0000FF5E0000000000000000000000000000FF070000FFE10000FFFF0000
+      FFFF0000FF780000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000FF7F0000FFFF0000
+      FFFF0000FFDF0000FF0600000000000000000000FF5F0000FFFF0000FFFF0000
+      FFE70000FF0A0000000000000000000000000000000000000000000000000000
+      000000000000000000000000000000000000000000000000FF0C0000FFE90000
+      FFFF0000FFFF0000FF5F00000000000000000000FF5D0000FFFF0000FFFF0000
+      FF6B000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000000000000000000FF6C0000
+      FFFF0000FFFF0000FF5D00000000000000000000FF010000FF550000FF5E0000
+      FF01000000000000000000000000000000000000000000000000000000000000
+      00000000000000000000000000000000000000000000000000000000FF010000
+      FF5E0000FF560000FF0100000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000000000000000000000000000000000000000
+      0000000000000000000000000000
     }
   end
 end

+ 64 - 36
vectoredit/umain.pas

@@ -73,7 +73,6 @@ type
     PanelFile: TBCPanel;
     PanelShape: TBCPanel;
     PenStyleImageList: TBGRAImageList;
-    CurveImageList: TBGRAImageList;
     ToolBarFile: TToolBar;
     ToolBarEdit: TToolBar;
     ToolBarTop: TToolBar;
@@ -113,8 +112,8 @@ type
     UpDownPenWidth: TBCTrackbarUpdown;
     procedure BCPanelToolbarResize(Sender: TObject);
     procedure BCPanelToolChoiceResize(Sender: TObject);
-    procedure BGRAVirtualScreen1MouseWheel(Sender: TObject; Shift: TShiftState;
-      WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
+    procedure BGRAVirtualScreen1MouseWheel(Sender: TObject; {%H-}Shift: TShiftState;
+      WheelDelta: Integer; {%H-}MousePos: TPoint; var {%H-}Handled: Boolean);
     procedure ButtonPenStyleClick(Sender: TObject);
     procedure EditCopyExecute(Sender: TObject);
     procedure EditCutExecute(Sender: TObject);
@@ -218,6 +217,7 @@ type
     procedure RequestPenFillAdjustToShape(Sender: TObject);
     procedure RequestPenFillUpdate(Sender: TObject);
     procedure AdjustToolbarTop;
+    procedure UpdateSplineToolbar;
   public
     { public declarations }
     img: TBGRALazPaintImage;
@@ -822,10 +822,18 @@ begin
 end;
 
 procedure TForm1.ComboBoxSplineStyleClick(Sender: TObject);
+var
+  btn: TControl;
+  i: Integer;
 begin
   if Assigned(FSplineStyleMenu) then
-    with FComboboxSplineStyle.ClientToScreen(Point(0,FComboboxSplineStyle.Height)) do
+  begin
+    btn := Sender as TControl;
+    for i := 0 to FSplineStyleMenu.Items.Count-1 do
+      FSplineStyleMenu.Items[i].Checked:= FSplineStyleMenu.Items[i].Tag=ord(FSplineStyle);
+    with btn.ClientToScreen(Point(0,btn.Height)) do
       FSplineStyleMenu.PopUp(X,Y);
+  end;
 end;
 
 function TForm1.GetPenStyle: TBGRAPenStyle;
@@ -870,6 +878,7 @@ end;
 procedure TForm1.OnClickSplineStyleItem(ASender: TObject);
 begin
   splineStyle := TSplineStyle((ASender as TMenuItem).Tag);
+  UpdateSplineToolbar;
 end;
 
 procedure TForm1.OnEditingChange(ASender: TObject;
@@ -1066,20 +1075,13 @@ end;
 procedure TForm1.SplineToolbarClick(Sender: TObject);
 var
   btn: TToolButton;
-  mode: TVectorShapeUsermode;
 begin
   if Assigned(vectorOriginal) and Assigned(vectorOriginal.SelectedShape) and
      (vectorOriginal.SelectedShape is TCurveShape) then
   begin
     btn := Sender as TToolButton;
     if btn.Down then
-    begin
-      if btn.ImageIndex = 0 then mode := vsuEdit
-      else if btn.ImageIndex = 1 then mode := vsuCurveSetAuto
-      else if btn.ImageIndex = 2 then mode := vsuCurveSetCurve
-      else if btn.ImageIndex = 3 then mode := vsuCurveSetAngle;
-      vectorOriginal.SelectedShape.Usermode := mode;
-    end;
+      vectorOriginal.SelectedShape.Usermode := TVectorShapeUsermode(btn.Tag);
   end;
 end;
 
@@ -1187,9 +1189,6 @@ var
   nextControlPos: TPoint;
   mode: TVectorShapeUsermode;
   sk: TPhongShapeKind;
-  upDownShapeAltitude: TBCTrackbarUpdown;
-  lbl: TLabel;
-  w: Integer;
   btn: TToolButton;
 begin
   RemoveExtendedStyleControls;
@@ -1233,15 +1232,17 @@ begin
       f := PaintToolClass[currentTool].Fields;
       showSplineStyle:= PaintToolClass[currentTool] = TCurveShape;
       showPhongStyle := PaintToolClass[currentTool] = TPhongShape;
+      PanelPenFill.Visible := vsfPenFill in f;
+      PanelBackFill.Visible := vsfBackFill in f;
     end
     else
     begin
       f := [];
       showSplineStyle:= false;
       showPhongStyle:= false;
+      PanelPenFill.Visible := true;
+      PanelBackFill.Visible := true;
     end;
-    PanelPenFill.Visible := true;
-    PanelBackFill.Visible := true;
   end;
   UpdateBackToolFillPoints;
   UpdatePenToolFillPoints;
@@ -1256,32 +1257,38 @@ begin
   begin
     PanelExtendedStyle.Visible := true;
 
-    FSplineToolbar := CreateToolBar(CurveImageList);
+    FSplineToolbar := CreateToolBar(FVectorImageList);
     FSplineToolbar.Left := nextControlPos.X;
     FSplineToolbar.Top := nextControlPos.Y;
-    FSplineToolbar.Width := 120;
     FSplineToolbar.Wrapable := false;
-    AddToolbarCheckButton(FSplineToolbar, 'Move spline points', 0, @SplineToolbarClick, mode in [vsuEdit, vsuCreate]);
-    AddToolbarCheckButton(FSplineToolbar, 'Set to autodetect angle (A)', 1, @SplineToolbarClick, mode = vsuCurveSetAuto);
-    AddToolbarCheckButton(FSplineToolbar, 'Set to curve (S)', 2, @SplineToolbarClick, mode = vsuCurveSetCurve);
-    AddToolbarCheckButton(FSplineToolbar, 'Set to angle (X)', 3, @SplineToolbarClick, mode = vsuCurveSetAngle);
-    PanelExtendedStyle.InsertControl(FSplineToolbar);
 
-    FComboboxSplineStyle := TBCButton.Create(nil);
+    AddToolbarCheckButton(FSplineToolbar, 'Move spline points', 20, @SplineToolbarClick, mode in [vsuEdit, vsuCreate], true, ord(vsuEdit));
+    AddToolbarCheckButton(FSplineToolbar, 'Set to autodetect angle (A)', 21, @SplineToolbarClick, mode = vsuCurveSetAuto, true, ord(vsuCurveSetAuto));
+    AddToolbarCheckButton(FSplineToolbar, 'Set to smooth (S)', 22, @SplineToolbarClick, mode = vsuCurveSetCurve, true, ord(vsuCurveSetCurve));
+    AddToolbarCheckButton(FSplineToolbar, 'Set to angle (X)', 23, @SplineToolbarClick, mode = vsuCurveSetAngle, true, ord(vsuCurveSetAngle)).Wrap:= true;
+
+    FComboboxSplineStyle := TBCButton.Create(FSplineToolbar);
     FComboboxSplineStyle.Style := bbtButton;
-    FComboboxSplineStyle.Left := nextControlPos.X;
-    FComboboxSplineStyle.Top := nextControlPos.Y + FFullIconHeight;
     FComboboxSplineStyle.Caption:= SplineStyleToStr[splineStyle];
-    FComboboxSplineStyle.Width := 120;
-    FComboboxSplineStyle.Height := ButtonPenStyle.Height;
+    FComboboxSplineStyle.Width := 4*FSplineToolbar.ButtonWidth;
+    FComboboxSplineStyle.Height := FSplineToolbar.ButtonHeight;
     FComboboxSplineStyle.OnClick:=@ComboBoxSplineStyleClick;
     FComboboxSplineStyle.StateNormal.Assign(ButtonPenStyle.StateNormal);
     FComboboxSplineStyle.StateHover.Assign(ButtonPenStyle.StateHover);
     FComboboxSplineStyle.StateClicked.Assign(ButtonPenStyle.StateClicked);
     FComboboxSplineStyle.Rounding.Assign(ButtonPenStyle.Rounding);
-    PanelExtendedStyle.InsertControl(FComboboxSplineStyle);
+    AddToolbarControl(FSplineToolbar, FComboboxSplineStyle);
+
+    UpdateSplineToolbar;
+    PanelExtendedStyle.InsertControl(FSplineToolbar);
 
-    nextControlPos.X := FComboboxSplineStyle.Left + FComboboxSplineStyle.Width;
+    with GetToolbarSize(FSplineToolbar,0) do
+    begin
+      FSplineToolbar.Width := cx+1;
+      FSplineToolbar.Height := cy+1;
+    end;
+
+    nextControlPos.X := FSplineToolbar.Left + FSplineToolbar.Width;
   end;
   if showPhongStyle then
   begin
@@ -1376,15 +1383,11 @@ end;
 
 procedure TForm1.RemoveExtendedStyleControls;
 begin
-  if Assigned(FComboboxSplineStyle) then
-  begin
-    PanelExtendedStyle.RemoveControl(FComboboxSplineStyle);
-    FreeAndNil(FComboboxSplineStyle);
-  end;
   if Assigned(FSplineToolbar) then
   begin
     PanelExtendedStyle.RemoveControl(FSplineToolbar);
     FreeAndNil(FSplineToolbar);
+    FComboboxSplineStyle := nil;
   end;
   if Assigned(FPhongShapeKindToolbar) then
   begin
@@ -1554,6 +1557,31 @@ begin
   BCPanelToolbar.Height := ToolBarTop.Height;
 end;
 
+procedure TForm1.UpdateSplineToolbar;
+var
+  i: Integer;
+begin
+  for i := 0 to FSplineToolbar.ButtonCount-1 do
+  begin
+    if FSplineStyle = ssEasyBezier then
+    begin
+      FSplineToolbar.Buttons[i].Enabled:= true;
+    end else
+    begin
+      if FSplineToolbar.Buttons[i].Tag = ord(vsuEdit) then
+      begin
+        if not FSplineToolbar.Buttons[i].Down then
+        begin
+          FSplineToolbar.Buttons[i].Down := true;
+          FSplineToolbar.Buttons[i].OnClick(FSplineToolbar.Buttons[i]);
+        end;
+      end
+      else
+        FSplineToolbar.Buttons[i].Enabled:= false;
+    end;
+  end;
+end;
+
 procedure TForm1.DoCopy;
 begin
   if Assigned(vectorOriginal) and Assigned(vectorOriginal.SelectedShape) then