From 7a103bee4cda4532e237522e72f6a7d7e81e6839 Mon Sep 17 00:00:00 2001 From: lecoanet Date: Fri, 28 Mar 2003 17:34:45 +0000 Subject: Ajout de zincLogo --- library/pkgIndex.tcl | 3 +- library/zincLogo.tcl | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++ library/zincText.tcl | 4 +-- 3 files changed, 102 insertions(+), 3 deletions(-) create mode 100644 library/zincLogo.tcl (limited to 'library') diff --git a/library/pkgIndex.tcl b/library/pkgIndex.tcl index 12c1a66..b3bb6c8 100644 --- a/library/pkgIndex.tcl +++ b/library/pkgIndex.tcl @@ -8,4 +8,5 @@ # script is sourced, the variable $dir must contain the # full path name of this file's directory. -package ifneeded ZincText 1.0 [list source [file join $dir zincText.tcl]] +package ifneeded zincText 1.0 [list source [file join $dir zincText.tcl]] +package ifneeded zincLogo 1.0 [list source [file join $dir zincLogo.tcl]] diff --git a/library/zincLogo.tcl b/library/zincLogo.tcl new file mode 100644 index 0000000..9099311 --- /dev/null +++ b/library/zincLogo.tcl @@ -0,0 +1,98 @@ +#--------------------------------------------------------------- +# File : LogoZinc.pm +# +# Copyright (C) 2001-2002 +# Centre d'Études de la Navigation Aérienne +# Authors: Vinot Jean-Luc +# $Id$ +#--------------------------------------------------------------- + +package provide zincLogo 1.0 + +namespace eval ::zincLogo:: { + + set letters(coords) { + {0 0} {106 0} {106 58} {122 41} {156 41} {131 69} + {153 99} {203 41} {155 41} {155 0} {218 0} {240 0 'c'} + {252 17 'c'} {252 34} {252 40 'c'} {249 50 'c'} {244 56} + {202 105} {246 105} {246 87} {246 60 'c'} {271 37 'c'} {297 37} + {323 37 'c'} {342 57 'c'} {344 68} {347 64 'c'} {350 60'c'} + {353 56} {363 46 'c'} {375 37 'c'} {395 37} {395 79} {393 79} + {385 79 'c'} {379 86 'c'} {379 93} {379 100 'c'} {385 107 'c'} + {393 107} {409 107} {409 148} {397 148} {378 148 'c'} {364 144 'c'} + {354 133} {346 124} {346 148} {305 148} {305 87} {305 83 'c'} + {301 79 'c'} {297 79} {293 79 'c'} {289 83 'c'} {289 87} {289 150} + {251 150} {251 130} {251 126 'c'} {247 122 'c'} {243 122} {239 122 'c'} + {235 126 'c'} {235 130} {235 150} {176 150} {154 150,'c'} {146 131,'c'} + {146 114} {148 105} {120 105} {104 81} {104 105} {74 105} {74 41} {52 41} + {52 105} {20 105} {20 41} {0 41}} + set letters(lineWidth) 3 + set letters(lineColor) {\#000000;70} + set letters(fillColor) {=axial 270|\#ffffff;100 0 28|\#66848c;100 96|\#7192aa;100 100} + set letters(shadow,dXy) {6 6} + set letters(shadow,fillColor) {\#000000;18} + + set point(pos) {240 96} + set point(alpha) 80 + set point(lineWidth) 1 + set point(lineColor) {\#a10000;100} + set point(fillColor) {=radial -66 -66|\#ffffff;100 0|\#f70000;100 48|\#900000;100 80|\#ab0000;100 100} + set point(shadow,dXy) {5 5} + set point(shadow,fillColor) {=path -50 -50|\#770000;64 0|\#770000;70 78|\#770000;0 100} + + + + proc create {zinc parent priority x y scaleX scaleY} { + variable letters point + # + # Create a group to hold the various parts + set logoGroup [$zinc add group $parent -priority $priority] + + # + # Move the group in the right place + $zinc coords $logoGroup "$x $y" + + # + # Add a sub-group to isolate the scaling + set scaleGroup [$zinc add group $logoGroup] + $zinc scale $scaleGroup $scaleX $scaleY + + foreach {$dx dy} $letters(shadow,dXy) break + # + # Create a curve for the main form shadow + set lShadow [$zinc add curve $group $letters(coords) \ + -tags lettersShadow -closed 1 -filled 1 -linewidth 0 \ + -fillcolor $letters(shadow,fillColor)] + $zinc translate $lShadow $dx $dy + + set lineWidth [expr int(($letters(lineWidth) * $xs) + 0.5)] + if { $lineWidth <= 0 } { + set lineWidth 1 + } + + # + # Create a curve for the main form + $zinc add curve $group $letters(coords) -tags letters -closed 0 \ + -filled 1 -fillcolor $letters(fillColor) -linewidth $lineWidth \ + -linecolor => $letters(lineColor) + + # + # Create a group to hold the point and its shadow + set pointGroup [$zinc add group $group -alpha $point(alpha)] + $zinc coords $pointGroup $point(pos) + + foreach {dx dy} $point(shadow,dXy) break + # + # Create a curve for the dot shadow + set pShadow [$zinc add arc $pointGroup {-20 -20 20 20} -tags pointShadow \ + -closed 1 -filled 1 -fillcolor $point(shadow,fillColor) \ + -lineWidth 0] + $zinc translate $pShadow $dx $dy + + # + # Create a curve for the dot + $zinc add arc $pointGroup {-20 -20 20 20} -tags point -closed 1 \ + -filled 1 -fillcolor $point(fillColor) -linewidth $point(lineWidth) \ + -linecolor$point(lineColor) + } +} diff --git a/library/zincText.tcl b/library/zincText.tcl index e7c8899..a3a9a69 100644 --- a/library/zincText.tcl +++ b/library/zincText.tcl @@ -27,7 +27,7 @@ # # SYNOPSIS # -# package require ZincText; +# package require zincText; # # zn_TextBindings $zinc # @@ -184,4 +184,4 @@ proc textDel {w dir} { } } -package provide ZincText 1.0 +package provide zincText 1.0 -- cgit v1.1