Changeset 3519 in Sophya


Ignore:
Timestamp:
Sep 11, 2008, 2:43:55 PM (17 years ago)
Author:
ansari
Message:

1/ Introduction des classes auxiliaires PIPixColIdx , PIPixRGB , PIPixRGBArray
(nouveau fichier pipixutils.cc .h) pour support de tables de couleurs avec > 256 couleurs.
2/ Ajout de tables de couleurs RGB (216/512/4096) pour representation d'image RGB
3/ Extension et modification de la classe P2DArrayAdapter, introduction de la methode P2DArrayAdapter::MeanVal()
4/ Modif de la classe LUT pour introduction typeRGB
5/ Modification et propagation ds PIImage , PIPIxmap ...

Reza , 11/09/2008

Location:
trunk/SophyaPI/PI
Files:
2 added
23 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PI/Makefile

    r3404 r3519  
    44 
    55clean:
    6          rm -f $(SOPHYAOBJP)lut.o $(SOPHYAOBJP)parradapter.o $(SOPHYAOBJP)pi3ddrw.o $(SOPHYAOBJP)pi3dwdg.o $(SOPHYAOBJP)piapplgen.o $(SOPHYAOBJP)piapplx.o $(SOPHYAOBJP)piaxes.o $(SOPHYAOBJP)piaxestools.o $(SOPHYAOBJP)pibargraph.o $(SOPHYAOBJP)pibwdggen.o $(SOPHYAOBJP)pibwdgx.o $(SOPHYAOBJP)picmap.o $(SOPHYAOBJP)picmapgen.o $(SOPHYAOBJP)picmapview.o $(SOPHYAOBJP)picmapx.o $(SOPHYAOBJP)picons.o $(SOPHYAOBJP)picontainergen.o $(SOPHYAOBJP)picontainerx.o $(SOPHYAOBJP)pidrawer.o $(SOPHYAOBJP)pidrawwin.o $(SOPHYAOBJP)pidrwtools.o $(SOPHYAOBJP)pieldrw.o $(SOPHYAOBJP)pierrdisp.o $(SOPHYAOBJP)pievthandler.o $(SOPHYAOBJP)pifilechogen.o $(SOPHYAOBJP)pifilechox.o $(SOPHYAOBJP)pifontgen.o $(SOPHYAOBJP)pifontx.o $(SOPHYAOBJP)pigraph3d.o $(SOPHYAOBJP)pigraphgen.o $(SOPHYAOBJP)pigraphps.o $(SOPHYAOBJP)pigraphuc.o $(SOPHYAOBJP)pigraphx.o $(SOPHYAOBJP)pigratt.o $(SOPHYAOBJP)pigrcoord.o $(SOPHYAOBJP)piimage.o $(SOPHYAOBJP)piimgtools.o $(SOPHYAOBJP)pilineatt.o $(SOPHYAOBJP)pilistgen.o $(SOPHYAOBJP)pilistx.o $(SOPHYAOBJP)pimenubargen.o $(SOPHYAOBJP)pimenubarx.o $(SOPHYAOBJP)pimenugen.o $(SOPHYAOBJP)pimenux.o $(SOPHYAOBJP)pimsghandler.o $(SOPHYAOBJP)pioptmenugen.o $(SOPHYAOBJP)pioptmenux.o $(SOPHYAOBJP)piperiodx.o $(SOPHYAOBJP)pipixmapgen.o $(SOPHYAOBJP)pipixmapx.o $(SOPHYAOBJP)pipplist.o $(SOPHYAOBJP)pippmenubar.o $(SOPHYAOBJP)pippoptmenu.o $(SOPHYAOBJP)pippviewadapter.o $(SOPHYAOBJP)piscdrawwdg.o $(SOPHYAOBJP)pistdwdggen.o $(SOPHYAOBJP)pistdwdgx.o $(SOPHYAOBJP)pistzwin.o $(SOPHYAOBJP)pisurfdr.o $(SOPHYAOBJP)pitherm.o $(SOPHYAOBJP)pitxtdrw.o $(SOPHYAOBJP)piup.o $(SOPHYAOBJP)piup_def.o $(SOPHYAOBJP)piupdattachment.o $(SOPHYAOBJP)piwdggen.o $(SOPHYAOBJP)piwdgx.o $(SOPHYAOBJP)piwindowgen.o $(SOPHYAOBJP)piwindowx.o $(SOPHYAOBJP)pixtbase.o $(SOPHYAOBJP)piyfxdrw.o $(SOPHYAOBJP)psfile.o $(SOPHYAOBJP)xdispim.o
     6         rm -f $(SOPHYAOBJP)lut.o $(SOPHYAOBJP)parradapter.o $(SOPHYAOBJP)pi3ddrw.o $(SOPHYAOBJP)pi3dwdg.o $(SOPHYAOBJP)piapplgen.o $(SOPHYAOBJP)piapplx.o $(SOPHYAOBJP)piaxes.o $(SOPHYAOBJP)piaxestools.o $(SOPHYAOBJP)pibargraph.o $(SOPHYAOBJP)pibwdggen.o $(SOPHYAOBJP)pibwdgx.o $(SOPHYAOBJP)picmap.o $(SOPHYAOBJP)picmapgen.o $(SOPHYAOBJP)picmapview.o $(SOPHYAOBJP)picmapx.o $(SOPHYAOBJP)picons.o $(SOPHYAOBJP)picontainergen.o $(SOPHYAOBJP)picontainerx.o $(SOPHYAOBJP)pidrawer.o $(SOPHYAOBJP)pidrawwin.o $(SOPHYAOBJP)pidrwtools.o $(SOPHYAOBJP)pieldrw.o $(SOPHYAOBJP)pierrdisp.o $(SOPHYAOBJP)pievthandler.o $(SOPHYAOBJP)pifilechogen.o $(SOPHYAOBJP)pifilechox.o $(SOPHYAOBJP)pifontgen.o $(SOPHYAOBJP)pifontx.o $(SOPHYAOBJP)pigraph3d.o $(SOPHYAOBJP)pigraphgen.o $(SOPHYAOBJP)pigraphps.o $(SOPHYAOBJP)pigraphuc.o $(SOPHYAOBJP)pigraphx.o $(SOPHYAOBJP)pigratt.o $(SOPHYAOBJP)pigrcoord.o $(SOPHYAOBJP)piimage.o $(SOPHYAOBJP)piimgtools.o $(SOPHYAOBJP)pilineatt.o $(SOPHYAOBJP)pilistgen.o $(SOPHYAOBJP)pilistx.o $(SOPHYAOBJP)pimenubargen.o $(SOPHYAOBJP)pimenubarx.o $(SOPHYAOBJP)pimenugen.o $(SOPHYAOBJP)pimenux.o $(SOPHYAOBJP)pimsghandler.o $(SOPHYAOBJP)pioptmenugen.o $(SOPHYAOBJP)pioptmenux.o $(SOPHYAOBJP)piperiodx.o $(SOPHYAOBJP)pipixmapgen.o $(SOPHYAOBJP)pipixmapx.o $(SOPHYAOBJP)pipixutils.o $(SOPHYAOBJP)pipplist.o $(SOPHYAOBJP)pippmenubar.o $(SOPHYAOBJP)pippoptmenu.o $(SOPHYAOBJP)pippviewadapter.o $(SOPHYAOBJP)piscdrawwdg.o $(SOPHYAOBJP)pistdwdggen.o $(SOPHYAOBJP)pistdwdgx.o $(SOPHYAOBJP)pistzwin.o $(SOPHYAOBJP)pisurfdr.o $(SOPHYAOBJP)pitherm.o $(SOPHYAOBJP)pitxtdrw.o $(SOPHYAOBJP)piup.o $(SOPHYAOBJP)piup_def.o $(SOPHYAOBJP)piupdattachment.o $(SOPHYAOBJP)piwdggen.o $(SOPHYAOBJP)piwdgx.o $(SOPHYAOBJP)piwindowgen.o $(SOPHYAOBJP)piwindowx.o $(SOPHYAOBJP)pixtbase.o $(SOPHYAOBJP)piyfxdrw.o $(SOPHYAOBJP)psfile.o $(SOPHYAOBJP)xdispim.o
    77        rm -f $(SOPHYALIBP)libPI.a
    88 
    9 $(SOPHYALIBP)libPI.a : $(SOPHYAOBJP)lut.o $(SOPHYAOBJP)parradapter.o $(SOPHYAOBJP)pi3ddrw.o $(SOPHYAOBJP)pi3dwdg.o $(SOPHYAOBJP)piapplgen.o $(SOPHYAOBJP)piapplx.o $(SOPHYAOBJP)piaxes.o $(SOPHYAOBJP)piaxestools.o $(SOPHYAOBJP)pibargraph.o $(SOPHYAOBJP)pibwdggen.o $(SOPHYAOBJP)pibwdgx.o $(SOPHYAOBJP)picmap.o $(SOPHYAOBJP)picmapgen.o $(SOPHYAOBJP)picmapview.o $(SOPHYAOBJP)picmapx.o $(SOPHYAOBJP)picons.o $(SOPHYAOBJP)picontainergen.o $(SOPHYAOBJP)picontainerx.o $(SOPHYAOBJP)pidrawer.o $(SOPHYAOBJP)pidrawwin.o $(SOPHYAOBJP)pidrwtools.o $(SOPHYAOBJP)pieldrw.o $(SOPHYAOBJP)pievthandler.o $(SOPHYAOBJP)pifilechogen.o $(SOPHYAOBJP)pifilechox.o $(SOPHYAOBJP)pifontgen.o $(SOPHYAOBJP)pifontx.o $(SOPHYAOBJP)pigraph3d.o $(SOPHYAOBJP)pigraphgen.o $(SOPHYAOBJP)pigraphps.o $(SOPHYAOBJP)pigraphuc.o $(SOPHYAOBJP)pigraphx.o $(SOPHYAOBJP)pigratt.o $(SOPHYAOBJP)pigrcoord.o $(SOPHYAOBJP)piimage.o $(SOPHYAOBJP)piimgtools.o $(SOPHYAOBJP)pilineatt.o $(SOPHYAOBJP)pilistgen.o $(SOPHYAOBJP)pilistx.o $(SOPHYAOBJP)pimenubargen.o $(SOPHYAOBJP)pimenubarx.o $(SOPHYAOBJP)pimenugen.o $(SOPHYAOBJP)pimenux.o $(SOPHYAOBJP)pimsghandler.o $(SOPHYAOBJP)pioptmenugen.o $(SOPHYAOBJP)pioptmenux.o $(SOPHYAOBJP)piperiodx.o $(SOPHYAOBJP)pipixmapgen.o $(SOPHYAOBJP)pipixmapx.o $(SOPHYAOBJP)piscdrawwdg.o $(SOPHYAOBJP)pistdwdggen.o $(SOPHYAOBJP)pistdwdgx.o $(SOPHYAOBJP)pistzwin.o $(SOPHYAOBJP)pisurfdr.o $(SOPHYAOBJP)pitherm.o $(SOPHYAOBJP)pitxtdrw.o $(SOPHYAOBJP)piwdggen.o $(SOPHYAOBJP)piwdgx.o $(SOPHYAOBJP)piwindowgen.o $(SOPHYAOBJP)piwindowx.o $(SOPHYAOBJP)pixtbase.o $(SOPHYAOBJP)piyfxdrw.o $(SOPHYAOBJP)psfile.o
     9$(SOPHYALIBP)libPI.a : $(SOPHYAOBJP)lut.o $(SOPHYAOBJP)parradapter.o $(SOPHYAOBJP)pi3ddrw.o $(SOPHYAOBJP)pi3dwdg.o $(SOPHYAOBJP)piapplgen.o $(SOPHYAOBJP)piapplx.o $(SOPHYAOBJP)piaxes.o $(SOPHYAOBJP)piaxestools.o $(SOPHYAOBJP)pibargraph.o $(SOPHYAOBJP)pibwdggen.o $(SOPHYAOBJP)pibwdgx.o $(SOPHYAOBJP)picmap.o $(SOPHYAOBJP)picmapgen.o $(SOPHYAOBJP)picmapview.o $(SOPHYAOBJP)picmapx.o $(SOPHYAOBJP)picons.o $(SOPHYAOBJP)picontainergen.o $(SOPHYAOBJP)picontainerx.o $(SOPHYAOBJP)pidrawer.o $(SOPHYAOBJP)pidrawwin.o $(SOPHYAOBJP)pidrwtools.o $(SOPHYAOBJP)pieldrw.o $(SOPHYAOBJP)pievthandler.o $(SOPHYAOBJP)pifilechogen.o $(SOPHYAOBJP)pifilechox.o $(SOPHYAOBJP)pifontgen.o $(SOPHYAOBJP)pifontx.o $(SOPHYAOBJP)pigraph3d.o $(SOPHYAOBJP)pigraphgen.o $(SOPHYAOBJP)pigraphps.o $(SOPHYAOBJP)pigraphuc.o $(SOPHYAOBJP)pigraphx.o $(SOPHYAOBJP)pigratt.o $(SOPHYAOBJP)pigrcoord.o $(SOPHYAOBJP)piimage.o $(SOPHYAOBJP)piimgtools.o $(SOPHYAOBJP)pilineatt.o $(SOPHYAOBJP)pilistgen.o $(SOPHYAOBJP)pilistx.o $(SOPHYAOBJP)pimenubargen.o $(SOPHYAOBJP)pimenubarx.o $(SOPHYAOBJP)pimenugen.o $(SOPHYAOBJP)pimenux.o $(SOPHYAOBJP)pimsghandler.o $(SOPHYAOBJP)pioptmenugen.o $(SOPHYAOBJP)pioptmenux.o $(SOPHYAOBJP)piperiodx.o $(SOPHYAOBJP)pipixmapgen.o $(SOPHYAOBJP)pipixmapx.o $(SOPHYAOBJP)pipixutils.o $(SOPHYAOBJP)piscdrawwdg.o $(SOPHYAOBJP)pistdwdggen.o $(SOPHYAOBJP)pistdwdgx.o $(SOPHYAOBJP)pistzwin.o $(SOPHYAOBJP)pisurfdr.o $(SOPHYAOBJP)pitherm.o $(SOPHYAOBJP)pitxtdrw.o $(SOPHYAOBJP)piwdggen.o $(SOPHYAOBJP)piwdgx.o $(SOPHYAOBJP)piwindowgen.o $(SOPHYAOBJP)piwindowx.o $(SOPHYAOBJP)pixtbase.o $(SOPHYAOBJP)piyfxdrw.o $(SOPHYAOBJP)psfile.o
    1010        $(AR) $(ARFLAGS) $@ $?
    1111        touch $(SOPHYAINCP)/SophyaConfInfo/libPI.objlist
    1212 
    1313$(SOPHYAOBJP)lut.o: lut.cc $(SOPHYAINCP)sopnamsp.h \
    14   $(SOPHYAINCP)machdefs.h lut.h
     14  $(SOPHYAINCP)machdefs.h \
     15  $(SOPHYAINCP)osx_values.h lut.h
    1516        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  lut.cc
    1617 
    17 $(SOPHYAOBJP)parradapter.o: parradapter.cc \
    18   $(SOPHYAINCP)sopnamsp.h parradapter.h \
    19   $(SOPHYAINCP)machdefs.h lut.h
     18$(SOPHYAOBJP)parradapter.o: parradapter.cc $(SOPHYAINCP)sopnamsp.h \
     19  $(SOPHYAINCP)nbtri.h $(SOPHYAINCP)machdefs.h \
     20  $(SOPHYAINCP)osx_values.h parradapter.h lut.h pipixutils.h
    2021        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  parradapter.cc
    2122 
    22 $(SOPHYAOBJP)pi3ddrw.o: pi3ddrw.cc $(SOPHYAINCP)sopnamsp.h \
    23   pi3ddrw.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    24   pidrawer.h pibwdggen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
    25   picmap.h picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h \
    26   pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h pievthandler.h psfile.h \
    27   pigratt.h piaxes.h pieldrw.h pigraph3d.h
     23$(SOPHYAOBJP)pi3ddrw.o: pi3ddrw.cc $(SOPHYAINCP)sopnamsp.h pi3ddrw.h \
     24  pisysdep.h $(SOPHYAINCP)machdefs.h \
     25  $(SOPHYAINCP)osx_values.h pidrawer.h pibwdggen.h piwdgx.h \
     26  piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h \
     27  pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
     28  pipixutils.h pigraphuc.h pievthandler.h psfile.h pigratt.h piaxes.h \
     29  pieldrw.h pigraph3d.h
    2830        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pi3ddrw.cc
    2931 
    30 $(SOPHYAOBJP)pi3dwdg.o: pi3dwdg.cc $(SOPHYAINCP)sopnamsp.h \
    31   pi3dwdg.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    32   pi3ddrw.h pidrawer.h pibwdggen.h piwdgx.h piwdggen.h pimsghandler.h \
    33   picolist.h picmap.h picmapx.h picmapgen.h pigraphx.h pigraphgen.h \
    34   pifontx.h pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h \
    35   pievthandler.h psfile.h pigratt.h piaxes.h pieldrw.h pigraph3d.h \
    36   pibwdgx.h pigraphps.h pidrwtools.h pistdwdgx.h pistdwdggen.h pimenux.h \
    37   pimenugen.h pioptmenux.h pioptmenugen.h piwindowx.h piwindowgen.h \
    38   picontainerx.h picontainergen.h piapplx.h piapplgen.h pimenubarx.h \
    39   pimenubargen.h picons.h
     32$(SOPHYAOBJP)pi3dwdg.o: pi3dwdg.cc $(SOPHYAINCP)sopnamsp.h pi3dwdg.h \
     33  pisysdep.h $(SOPHYAINCP)machdefs.h \
     34  $(SOPHYAINCP)osx_values.h pi3ddrw.h pidrawer.h pibwdggen.h \
     35  piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h \
     36  picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h \
     37  pilineatt.h pipixutils.h pigraphuc.h pievthandler.h psfile.h pigratt.h \
     38  piaxes.h pieldrw.h pigraph3d.h pibwdgx.h pigraphps.h pidrwtools.h \
     39  pistdwdgx.h pistdwdggen.h pimenux.h pimenugen.h pioptmenux.h \
     40  pioptmenugen.h piwindowx.h piwindowgen.h picontainerx.h \
     41  picontainergen.h piapplx.h piapplgen.h pimenubarx.h pimenubargen.h \
     42  piconsenum.h
    4043        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pi3dwdg.cc
    4144 
    4245$(SOPHYAOBJP)piapplgen.o: piapplgen.cc $(SOPHYAINCP)sopnamsp.h \
    43   piapplgen.h pimsghandler.h \
    44   $(SOPHYAINCP)machdefs.h pisysdep.h \
    45   picontainerx.h picontainergen.h piwdgx.h piwdggen.h picolist.h \
    46   pimenubarx.h pimenubargen.h pimenux.h pimenugen.h picons.h pistdwdgx.h \
     46  piapplgen.h pimsghandler.h $(SOPHYAINCP)machdefs.h \
     47  $(SOPHYAINCP)osx_values.h pisysdep.h picontainerx.h \
     48  picontainergen.h piwdgx.h piwdggen.h picolist.h pimenubarx.h \
     49  pimenubargen.h pimenux.h pimenugen.h piconsenum.h
     50        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piapplgen.cc
     51 
     52$(SOPHYAOBJP)piapplx.o: piapplx.cc /sw/include/Xm/Xm.h /sw/include/Xm/XmStrDefs.h \
     53  /sw/include/Xm/VirtKeys.h /sw/include/Xm/Transfer.h \
     54  /sw/include/Xm/DragDrop.h /sw/include/Xm/DragC.h \
     55  /sw/include/Xm/Display.h /sw/include/Xm/DropSMgr.h \
     56  /sw/include/Xm/DragIcon.h /sw/include/Xm/DropTrans.h \
     57  /sw/include/Xm/DragOverS.h /sw/include/Xm/Primitive.h \
     58  /sw/include/Xm/Manager.h /sw/include/Xm/Gadget.h \
     59  /sw/include/Xm/VendorS.h /sw/include/Xm/XmIm.h \
     60  $(SOPHYAINCP)sopnamsp.h piapplx.h piapplgen.h \
     61  pimsghandler.h $(SOPHYAINCP)machdefs.h \
     62  $(SOPHYAINCP)osx_values.h pisysdep.h picontainerx.h \
     63  picontainergen.h piwdgx.h piwdggen.h picolist.h pimenubarx.h \
     64  pimenubargen.h pimenux.h pimenugen.h piconsenum.h picons.h pistdwdgx.h \
    4765  pistdwdggen.h pibwdgx.h pibwdggen.h picmap.h picmapx.h picmapgen.h \
    4866  pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
    49   pigraphuc.h pievthandler.h psfile.h pigraphps.h
    50         $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piapplgen.cc
    51  
    52 $(SOPHYAOBJP)piapplx.o: piapplx.cc $(SOPHYAINCP)sopnamsp.h \
    53   piapplx.h piapplgen.h pimsghandler.h \
    54   $(SOPHYAINCP)machdefs.h pisysdep.h \
    55   picontainerx.h picontainergen.h piwdgx.h piwdggen.h picolist.h \
    56   pimenubarx.h pimenubargen.h pimenux.h pimenugen.h picons.h pistdwdgx.h \
    57   pistdwdggen.h pibwdgx.h pibwdggen.h picmap.h picmapx.h picmapgen.h \
    58   pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
    59   pigraphuc.h pievthandler.h psfile.h pigraphps.h
     67  pipixutils.h pigraphuc.h pievthandler.h psfile.h pigraphps.h
    6068        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piapplx.cc
    6169 
    6270$(SOPHYAOBJP)piaxes.o: piaxes.cc $(SOPHYAINCP)sopnamsp.h \
    63   $(SOPHYAINCP)machdefs.h piaxes.h pigraphuc.h \
    64   pisysdep.h pigraphgen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
    65   picmap.h picmapx.h picmapgen.h pifontx.h pifontgen.h pigrcoord.h \
    66   pilineatt.h pigratt.h
     71  $(SOPHYAINCP)machdefs.h \
     72  $(SOPHYAINCP)osx_values.h piaxes.h pigraphuc.h pisysdep.h \
     73  pigraphgen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h \
     74  picmapx.h picmapgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
     75  pipixutils.h pigratt.h
    6776        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piaxes.cc
    6877 
    69 $(SOPHYAOBJP)piaxestools.o: piaxestools.cc \
    70   $(SOPHYAINCP)sopnamsp.h piaxes.h pigraphuc.h \
    71   pisysdep.h $(SOPHYAINCP)machdefs.h pigraphgen.h \
    72   piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h \
    73   picmapgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h pigratt.h \
     78$(SOPHYAOBJP)piaxestools.o: piaxestools.cc $(SOPHYAINCP)sopnamsp.h \
     79  piaxes.h pigraphuc.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     80  $(SOPHYAINCP)osx_values.h pigraphgen.h piwdgx.h piwdggen.h \
     81  pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h pifontx.h \
     82  pifontgen.h pigrcoord.h pilineatt.h pipixutils.h pigratt.h \
    7483  piaxestools.h pistdwdgx.h pistdwdggen.h pioptmenux.h pioptmenugen.h \
    7584  pimenux.h pimenugen.h piwindowx.h piwindowgen.h picontainerx.h \
    7685  picontainergen.h piapplx.h piapplgen.h pimenubarx.h pimenubargen.h \
    77   picons.h pibwdgx.h pibwdggen.h pigraphx.h pievthandler.h psfile.h \
    78   pigraphps.h piscdrawwdg.h pidrawer.h pieldrw.h
     86  piconsenum.h piscdrawwdg.h pibwdgx.h pibwdggen.h pigraphx.h \
     87  pievthandler.h psfile.h pigraphps.h pidrawer.h pieldrw.h
    7988        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piaxestools.cc
    8089 
    81 $(SOPHYAOBJP)pibargraph.o: pibargraph.cc \
    82   $(SOPHYAINCP)sopnamsp.h \
    83   $(SOPHYAINCP)machdefs.h pibargraph.h pisysdep.h \
     90$(SOPHYAOBJP)pibargraph.o: pibargraph.cc $(SOPHYAINCP)sopnamsp.h \
     91  $(SOPHYAINCP)machdefs.h \
     92  $(SOPHYAINCP)osx_values.h pibargraph.h pisysdep.h \
    8493  pidrawer.h pibwdggen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
    8594  picmap.h picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h \
    86   pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h pievthandler.h psfile.h \
    87   pigratt.h piaxes.h
     95  pifontgen.h pigrcoord.h pilineatt.h pipixutils.h pigraphuc.h \
     96  pievthandler.h psfile.h pigratt.h piaxes.h
    8897        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pibargraph.cc
    8998 
    9099$(SOPHYAOBJP)pibwdggen.o: pibwdggen.cc $(SOPHYAINCP)sopnamsp.h \
    91100  pibwdggen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    92   piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h \
    93   picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h \
    94   pilineatt.h pigraphuc.h pievthandler.h psfile.h pidrawer.h pigratt.h \
    95   piaxes.h pigraphps.h pidrwtools.h pistdwdgx.h pistdwdggen.h pimenux.h \
     101  $(SOPHYAINCP)osx_values.h piwdgx.h piwdggen.h \
     102  pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h pigraphx.h \
     103  pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h pipixutils.h \
     104  pigraphuc.h pievthandler.h psfile.h pidrawer.h pigratt.h piaxes.h \
     105  pigraphps.h pidrwtools.h pistdwdgx.h pistdwdggen.h pimenux.h \
    96106  pimenugen.h pioptmenux.h pioptmenugen.h piwindowx.h piwindowgen.h \
    97107  picontainerx.h picontainergen.h piapplx.h piapplgen.h pimenubarx.h \
    98   pimenubargen.h picons.h pibwdgx.h
     108  pimenubargen.h piconsenum.h
    99109        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pibwdggen.cc
    100110 
    101 $(SOPHYAOBJP)pibwdgx.o: pibwdgx.cc $(SOPHYAINCP)sopnamsp.h \
    102   pixtbaseP.h pibwdgx.h pisysdep.h \
    103   $(SOPHYAINCP)machdefs.h pibwdggen.h piwdgx.h \
    104   piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h \
    105   pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
     111$(SOPHYAOBJP)pibwdgx.o: pibwdgx.cc $(SOPHYAINCP)sopnamsp.h pixtbaseP.h \
     112  pibwdgx.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     113  $(SOPHYAINCP)osx_values.h pibwdggen.h piwdgx.h piwdggen.h \
     114  pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h pigraphx.h \
     115  pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h pipixutils.h \
    106116  pigraphuc.h pievthandler.h psfile.h pigraphps.h pixtbase.h
    107117        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pibwdgx.cc
    108118 
    109 $(SOPHYAOBJP)picmap.o: picmap.cc $(SOPHYAINCP)sopnamsp.h \
    110   picmap.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    111   picmapx.h picmapgen.h
     119$(SOPHYAOBJP)picmap.o: picmap.cc $(SOPHYAINCP)sopnamsp.h picmap.h \
     120  pisysdep.h $(SOPHYAINCP)machdefs.h \
     121  $(SOPHYAINCP)osx_values.h picmapx.h picmapgen.h
    112122        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  picmap.cc
    113123 
    114124$(SOPHYAOBJP)picmapgen.o: picmapgen.cc $(SOPHYAINCP)sopnamsp.h \
    115125  picmapgen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    116   picmapx.h picmap.h
     126  $(SOPHYAINCP)osx_values.h picmapx.h picmap.h
    117127        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  picmapgen.cc
    118128 
    119 $(SOPHYAOBJP)picmapview.o: picmapview.cc \
    120   $(SOPHYAINCP)sopnamsp.h picmapview.h pisysdep.h \
    121   $(SOPHYAINCP)machdefs.h pibwdgx.h pibwdggen.h \
    122   piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h \
    123   picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h \
    124   pilineatt.h pigraphuc.h pievthandler.h psfile.h pigraphps.h
     129$(SOPHYAOBJP)picmapview.o: picmapview.cc $(SOPHYAINCP)sopnamsp.h \
     130  picmapview.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     131  $(SOPHYAINCP)osx_values.h pibwdgx.h pibwdggen.h piwdgx.h \
     132  piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h \
     133  pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
     134  pipixutils.h pigraphuc.h pievthandler.h psfile.h pigraphps.h
    125135        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  picmapview.cc
    126136 
    127 $(SOPHYAOBJP)picmapx.o: picmapx.cc $(SOPHYAINCP)sopnamsp.h \
    128   piwdgx.h piwdggen.h $(SOPHYAINCP)machdefs.h \
    129   pimsghandler.h picolist.h picmapx.h picmapgen.h pisysdep.h
     137$(SOPHYAOBJP)picmapx.o: picmapx.cc $(SOPHYAINCP)sopnamsp.h piwdgx.h \
     138  piwdggen.h $(SOPHYAINCP)machdefs.h \
     139  $(SOPHYAINCP)osx_values.h pimsghandler.h picolist.h \
     140  picmapx.h picmapgen.h pisysdep.h
    130141        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  picmapx.cc
    131142 
    132 $(SOPHYAOBJP)picons.o: picons.cc $(SOPHYAINCP)sopnamsp.h \
    133   pisysdep.h $(SOPHYAINCP)machdefs.h pimenux.h \
    134   pimenugen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h picons.h \
    135   pistdwdgx.h pistdwdggen.h picontainerx.h picontainergen.h pibwdgx.h \
    136   pibwdggen.h picmap.h picmapx.h picmapgen.h pigraphx.h pigraphgen.h \
    137   pifontx.h pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h \
    138   pievthandler.h psfile.h pigraphps.h
     143$(SOPHYAOBJP)picons.o: picons.cc $(SOPHYAINCP)sopnamsp.h pisysdep.h \
     144  $(SOPHYAINCP)machdefs.h \
     145  $(SOPHYAINCP)osx_values.h pimenux.h pimenugen.h piwdgx.h \
     146  piwdggen.h pimsghandler.h picolist.h picons.h pistdwdgx.h pistdwdggen.h \
     147  picontainerx.h picontainergen.h pibwdgx.h pibwdggen.h picmap.h \
     148  picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h \
     149  pigrcoord.h pilineatt.h pipixutils.h pigraphuc.h pievthandler.h \
     150  psfile.h pigraphps.h piconsenum.h
    139151        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  picons.cc
    140152 
    141 $(SOPHYAOBJP)picontainergen.o: picontainergen.cc \
    142   $(SOPHYAINCP)sopnamsp.h picontainergen.h \
    143   pisysdep.h $(SOPHYAINCP)machdefs.h piwdgx.h \
    144   piwdggen.h pimsghandler.h picolist.h
     153$(SOPHYAOBJP)picontainergen.o: picontainergen.cc $(SOPHYAINCP)sopnamsp.h \
     154  picontainergen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     155  $(SOPHYAINCP)osx_values.h piwdgx.h piwdggen.h \
     156  pimsghandler.h picolist.h
    145157        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  picontainergen.cc
    146158 
    147 $(SOPHYAOBJP)picontainerx.o: picontainerx.cc \
    148   $(SOPHYAINCP)sopnamsp.h picontainerx.h \
    149   pisysdep.h $(SOPHYAINCP)machdefs.h \
    150   picontainergen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h
     159$(SOPHYAOBJP)picontainerx.o: picontainerx.cc $(SOPHYAINCP)sopnamsp.h \
     160  picontainerx.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     161  $(SOPHYAINCP)osx_values.h picontainergen.h piwdgx.h \
     162  piwdggen.h pimsghandler.h picolist.h /sw/include/Xm/Form.h \
     163  /sw/include/Xm/BulletinB.h /sw/include/Xm/Xm.h \
     164  /sw/include/Xm/XmStrDefs.h /sw/include/Xm/VirtKeys.h \
     165  /sw/include/Xm/Transfer.h /sw/include/Xm/DragDrop.h \
     166  /sw/include/Xm/DragC.h /sw/include/Xm/Display.h \
     167  /sw/include/Xm/DropSMgr.h /sw/include/Xm/DragIcon.h \
     168  /sw/include/Xm/DropTrans.h /sw/include/Xm/DragOverS.h \
     169  /sw/include/Xm/Primitive.h /sw/include/Xm/Manager.h \
     170  /sw/include/Xm/Gadget.h /sw/include/Xm/VendorS.h /sw/include/Xm/XmIm.h
    151171        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  picontainerx.cc
    152172 
    153173$(SOPHYAOBJP)pidrawer.o: pidrawer.cc $(SOPHYAINCP)sopnamsp.h \
    154   $(SOPHYAINCP)machdefs.h pidrawer.h pibwdggen.h \
     174  $(SOPHYAINCP)machdefs.h \
     175  $(SOPHYAINCP)osx_values.h pidrawer.h pibwdggen.h \
    155176  pisysdep.h piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h \
    156177  picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h \
    157   pigrcoord.h pilineatt.h pigraphuc.h pievthandler.h psfile.h pigratt.h \
    158   piaxes.h pidrwtools.h pistdwdgx.h pistdwdggen.h pimenux.h pimenugen.h \
     178  pigrcoord.h pilineatt.h pipixutils.h pigraphuc.h pievthandler.h \
     179  psfile.h pigratt.h piaxes.h pidrwtools.h pistdwdgx.h pistdwdggen.h \
     180  pimenux.h pimenugen.h pioptmenux.h pioptmenugen.h piwindowx.h \
     181  piwindowgen.h picontainerx.h picontainergen.h piapplx.h piapplgen.h \
     182  pimenubarx.h pimenubargen.h piconsenum.h ucckprot.h
     183        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pidrawer.cc
     184 
     185$(SOPHYAOBJP)pidrawwin.o: pidrawwin.cc $(SOPHYAINCP)sopnamsp.h \
     186  pidrawwin.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     187  $(SOPHYAINCP)osx_values.h piwindowx.h piwindowgen.h \
     188  picontainerx.h picontainergen.h piwdgx.h piwdggen.h pimsghandler.h \
     189  picolist.h piscdrawwdg.h pibwdgx.h pibwdggen.h picmap.h picmapx.h \
     190  picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h \
     191  pilineatt.h pipixutils.h pigraphuc.h pievthandler.h psfile.h \
     192  pigraphps.h pistdwdgx.h pistdwdggen.h pidrawer.h pigratt.h piaxes.h \
     193  pieldrw.h
     194        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pidrawwin.cc
     195 
     196$(SOPHYAOBJP)pidrwtools.o: pidrwtools.cc $(SOPHYAINCP)sopnamsp.h \
     197  pidrwtools.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     198  $(SOPHYAINCP)osx_values.h pistdwdgx.h pistdwdggen.h \
     199  piwdgx.h piwdggen.h pimsghandler.h picolist.h pimenux.h pimenugen.h \
    159200  pioptmenux.h pioptmenugen.h piwindowx.h piwindowgen.h picontainerx.h \
    160201  picontainergen.h piapplx.h piapplgen.h pimenubarx.h pimenubargen.h \
    161   picons.h pibwdgx.h pigraphps.h ucckprot.h
    162         $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pidrawer.cc
    163  
    164 $(SOPHYAOBJP)pidrawwin.o: pidrawwin.cc $(SOPHYAINCP)sopnamsp.h \
    165   pidrawwin.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    166   piwindowx.h piwindowgen.h picontainerx.h picontainergen.h piwdgx.h \
    167   piwdggen.h pimsghandler.h picolist.h piscdrawwdg.h pibwdgx.h \
    168   pibwdggen.h picmap.h picmapx.h picmapgen.h pigraphx.h pigraphgen.h \
    169   pifontx.h pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h \
    170   pievthandler.h psfile.h pigraphps.h pistdwdgx.h pistdwdggen.h \
    171   pidrawer.h pigratt.h piaxes.h pieldrw.h
    172         $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pidrawwin.cc
    173  
    174 $(SOPHYAOBJP)pidrwtools.o: pidrwtools.cc \
    175   $(SOPHYAINCP)sopnamsp.h pidrwtools.h pisysdep.h \
    176   $(SOPHYAINCP)machdefs.h pistdwdgx.h \
    177   pistdwdggen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h pimenux.h \
    178   pimenugen.h pioptmenux.h pioptmenugen.h piwindowx.h piwindowgen.h \
    179   picontainerx.h picontainergen.h piapplx.h piapplgen.h pimenubarx.h \
    180   pimenubargen.h picons.h pibwdgx.h pibwdggen.h picmap.h picmapx.h \
    181   picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h \
    182   pilineatt.h pigraphuc.h pievthandler.h psfile.h pigraphps.h \
    183   piscdrawwdg.h pidrawer.h pigratt.h piaxes.h pieldrw.h pi3dwdg.h \
    184   pi3ddrw.h pigraph3d.h
     202  piconsenum.h pibwdggen.h picmap.h picmapx.h picmapgen.h pigraphx.h \
     203  pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h pipixutils.h \
     204  pigraphuc.h pievthandler.h psfile.h piscdrawwdg.h pibwdgx.h pigraphps.h \
     205  pidrawer.h pigratt.h piaxes.h pieldrw.h pi3dwdg.h pi3ddrw.h pigraph3d.h
    185206        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pidrwtools.cc
    186207 
    187208$(SOPHYAOBJP)pieldrw.o: pieldrw.cc $(SOPHYAINCP)sopnamsp.h \
    188   $(SOPHYAINCP)machdefs.h pieldrw.h pidrawer.h \
    189   pibwdggen.h pisysdep.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
    190   picmap.h picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h \
    191   pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h pievthandler.h psfile.h \
    192   pigratt.h piaxes.h
     209  $(SOPHYAINCP)machdefs.h \
     210  $(SOPHYAINCP)osx_values.h pieldrw.h pidrawer.h pibwdggen.h \
     211  pisysdep.h piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h \
     212  picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h \
     213  pigrcoord.h pilineatt.h pipixutils.h pigraphuc.h pievthandler.h \
     214  psfile.h pigratt.h piaxes.h
    193215        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pieldrw.cc
    194216 
    195 $(SOPHYAOBJP)pievthandler.o: pievthandler.cc \
    196   $(SOPHYAINCP)sopnamsp.h pievthandler.h \
    197   pisysdep.h $(SOPHYAINCP)machdefs.h \
    198   pimsghandler.h piwdgx.h piwdggen.h picolist.h pigraphx.h pigraphgen.h \
    199   picmap.h picmapx.h picmapgen.h pifontx.h pifontgen.h pigrcoord.h \
    200   pilineatt.h
     217$(SOPHYAOBJP)pievthandler.o: pievthandler.cc $(SOPHYAINCP)sopnamsp.h \
     218  pievthandler.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     219  $(SOPHYAINCP)osx_values.h pimsghandler.h piwdgx.h \
     220  piwdggen.h picolist.h pigraphx.h pigraphgen.h picmap.h picmapx.h \
     221  picmapgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h pipixutils.h
    201222        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pievthandler.cc
    202223 
    203 $(SOPHYAOBJP)pifilechogen.o: pifilechogen.cc \
    204   $(SOPHYAINCP)sopnamsp.h pifilechogen.h \
    205   pisysdep.h $(SOPHYAINCP)machdefs.h piwdgx.h \
    206   piwdggen.h pimsghandler.h picolist.h
     224$(SOPHYAOBJP)pifilechogen.o: pifilechogen.cc $(SOPHYAINCP)sopnamsp.h \
     225  pifilechogen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     226  $(SOPHYAINCP)osx_values.h piwdgx.h piwdggen.h \
     227  pimsghandler.h picolist.h
    207228        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pifilechogen.cc
    208229 
    209 $(SOPHYAOBJP)pifilechox.o: pifilechox.cc \
    210   $(SOPHYAINCP)sopnamsp.h pisysdep.h \
    211   $(SOPHYAINCP)machdefs.h piapplx.h piapplgen.h \
     230$(SOPHYAOBJP)pifilechox.o: pifilechox.cc $(SOPHYAINCP)sopnamsp.h \
     231  pisysdep.h $(SOPHYAINCP)machdefs.h \
     232  $(SOPHYAINCP)osx_values.h piapplx.h piapplgen.h \
    212233  pimsghandler.h picontainerx.h picontainergen.h piwdgx.h piwdggen.h \
    213   picolist.h pimenubarx.h pimenubargen.h pimenux.h pimenugen.h picons.h \
    214   pistdwdgx.h pistdwdggen.h pibwdgx.h pibwdggen.h picmap.h picmapx.h \
    215   picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h \
    216   pilineatt.h pigraphuc.h pievthandler.h psfile.h pigraphps.h \
    217   pifilechox.h pifilechogen.h piwindowx.h piwindowgen.h
     234  picolist.h pimenubarx.h pimenubargen.h pimenux.h pimenugen.h \
     235  piconsenum.h pifilechox.h pifilechogen.h piwindowx.h piwindowgen.h \
     236  /sw/include/Xm/FileSB.h /sw/include/Xm/Xm.h /sw/include/Xm/XmStrDefs.h \
     237  /sw/include/Xm/VirtKeys.h /sw/include/Xm/Transfer.h \
     238  /sw/include/Xm/DragDrop.h /sw/include/Xm/DragC.h \
     239  /sw/include/Xm/Display.h /sw/include/Xm/DropSMgr.h \
     240  /sw/include/Xm/DragIcon.h /sw/include/Xm/DropTrans.h \
     241  /sw/include/Xm/DragOverS.h /sw/include/Xm/Primitive.h \
     242  /sw/include/Xm/Manager.h /sw/include/Xm/Gadget.h \
     243  /sw/include/Xm/VendorS.h /sw/include/Xm/XmIm.h
    218244        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pifilechox.cc
    219245 
    220246$(SOPHYAOBJP)pifontgen.o: pifontgen.cc $(SOPHYAINCP)sopnamsp.h \
    221247  pigraphgen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    222   piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h \
    223   picmapgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h
     248  $(SOPHYAINCP)osx_values.h piwdgx.h piwdggen.h \
     249  pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h pifontx.h \
     250  pifontgen.h pigrcoord.h pilineatt.h pipixutils.h
    224251        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pifontgen.cc
    225252 
    226 $(SOPHYAOBJP)pifontx.o: pifontx.cc $(SOPHYAINCP)sopnamsp.h \
    227   pisysdep.h $(SOPHYAINCP)machdefs.h pifontx.h \
    228   pifontgen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h
     253$(SOPHYAOBJP)pifontx.o: pifontx.cc $(SOPHYAINCP)sopnamsp.h pisysdep.h \
     254  $(SOPHYAINCP)machdefs.h \
     255  $(SOPHYAINCP)osx_values.h pifontx.h pifontgen.h piwdgx.h \
     256  piwdggen.h pimsghandler.h picolist.h
    229257        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pifontx.cc
    230258 
    231259$(SOPHYAOBJP)pigraph3d.o: pigraph3d.cc $(SOPHYAINCP)sopnamsp.h \
    232260  pigraph3d.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    233   pigraphuc.h pigraphgen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
    234   picmap.h picmapx.h picmapgen.h pifontx.h pifontgen.h pigrcoord.h \
    235   pilineatt.h
     261  $(SOPHYAINCP)osx_values.h pigraphuc.h pigraphgen.h \
     262  piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h \
     263  picmapgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h pipixutils.h
    236264        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pigraph3d.cc
    237265 
    238 $(SOPHYAOBJP)pigraphgen.o: pigraphgen.cc \
    239   $(SOPHYAINCP)sopnamsp.h pigraphgen.h pisysdep.h \
    240   $(SOPHYAINCP)machdefs.h piwdgx.h piwdggen.h \
     266$(SOPHYAOBJP)pigraphgen.o: pigraphgen.cc $(SOPHYAINCP)sopnamsp.h \
     267  pigraphgen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     268  $(SOPHYAINCP)osx_values.h piwdgx.h piwdggen.h \
    241269  pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h pifontx.h \
    242   pifontgen.h pigrcoord.h pilineatt.h ucckprot.h
     270  pifontgen.h pigrcoord.h pilineatt.h pipixutils.h ucckprot.h
    243271        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pigraphgen.cc
    244272 
    245273$(SOPHYAOBJP)pigraphps.o: pigraphps.cc $(SOPHYAINCP)sopnamsp.h \
    246274  pigraphps.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     275  $(SOPHYAINCP)osx_values.h pigraphgen.h piwdgx.h piwdggen.h \
     276  pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h pifontx.h \
     277  pifontgen.h pigrcoord.h pilineatt.h pipixutils.h psfile.h
     278        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pigraphps.cc
     279 
     280$(SOPHYAOBJP)pigraphuc.o: pigraphuc.cc $(SOPHYAINCP)sopnamsp.h \
     281  $(SOPHYAINCP)machdefs.h \
     282  $(SOPHYAINCP)osx_values.h pigraphuc.h pisysdep.h \
    247283  pigraphgen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h \
    248284  picmapx.h picmapgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
    249   psfile.h
    250         $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pigraphps.cc
    251  
    252 $(SOPHYAOBJP)pigraphuc.o: pigraphuc.cc $(SOPHYAINCP)sopnamsp.h \
    253   $(SOPHYAINCP)machdefs.h pigraphuc.h pisysdep.h \
    254   pigraphgen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h \
    255   picmapx.h picmapgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
    256   ucckprot.h
     285  pipixutils.h ucckprot.h
    257286        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pigraphuc.cc
    258287 
    259 $(SOPHYAOBJP)pigraphx.o: pigraphx.cc $(SOPHYAINCP)sopnamsp.h \
    260   pigraphx.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    261   pigraphgen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h \
    262   picmapx.h picmapgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h
     288$(SOPHYAOBJP)pigraphx.o: pigraphx.cc $(SOPHYAINCP)sopnamsp.h pigraphx.h \
     289  pisysdep.h $(SOPHYAINCP)machdefs.h \
     290  $(SOPHYAINCP)osx_values.h pigraphgen.h piwdgx.h piwdggen.h \
     291  pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h pifontx.h \
     292  pifontgen.h pigrcoord.h pilineatt.h pipixutils.h
    263293        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pigraphx.cc
    264294 
    265 $(SOPHYAOBJP)pigratt.o: pigratt.cc $(SOPHYAINCP)sopnamsp.h \
    266   pigratt.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    267   pigraphgen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h \
    268   picmapx.h picmapgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
     295$(SOPHYAOBJP)pigratt.o: pigratt.cc $(SOPHYAINCP)sopnamsp.h pigratt.h \
     296  pisysdep.h $(SOPHYAINCP)machdefs.h \
     297  $(SOPHYAINCP)osx_values.h pigraphgen.h piwdgx.h piwdggen.h \
     298  pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h pifontx.h \
     299  pifontgen.h pigrcoord.h pilineatt.h pipixutils.h \
    269300  $(SOPHYAINCP)strutilxx.h \
    270301  $(SOPHYAINCP)machdefs.h
     
    272303 
    273304$(SOPHYAOBJP)pigrcoord.o: pigrcoord.cc $(SOPHYAINCP)sopnamsp.h \
    274   pigrcoord.h pisysdep.h $(SOPHYAINCP)machdefs.h
     305  pigrcoord.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     306  $(SOPHYAINCP)osx_values.h
    275307        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pigrcoord.cc
    276308 
    277 $(SOPHYAOBJP)piimage.o: piimage.cc $(SOPHYAINCP)sopnamsp.h \
    278   pisysdep.h $(SOPHYAINCP)machdefs.h piimage.h \
    279   parradapter.h lut.h pieldrw.h pidrawer.h pibwdggen.h piwdgx.h \
    280   piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h \
     309$(SOPHYAOBJP)piimage.o: piimage.cc $(SOPHYAINCP)sopnamsp.h pisysdep.h \
     310  $(SOPHYAINCP)machdefs.h \
     311  $(SOPHYAINCP)osx_values.h piimage.h parradapter.h lut.h \
     312  pipixutils.h pieldrw.h pidrawer.h pibwdggen.h piwdgx.h piwdggen.h \
     313  pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h pigraphx.h \
     314  pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h \
     315  pievthandler.h psfile.h pigratt.h piaxes.h pipixmapx.h pipixmapgen.h \
     316  pibwdgx.h pigraphps.h pistdwdgx.h pistdwdggen.h piwindowx.h \
     317  piwindowgen.h picontainerx.h picontainergen.h picmapview.h piimgtools.h \
     318  pioptmenux.h pioptmenugen.h pimenux.h pimenugen.h piapplx.h piapplgen.h \
     319  pimenubarx.h pimenubargen.h piconsenum.h pidrwtools.h piscdrawwdg.h \
     320  piyfxdrw.h
     321        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piimage.cc
     322 
     323$(SOPHYAOBJP)piimgtools.o: piimgtools.cc $(SOPHYAINCP)sopnamsp.h \
     324  piimgtools.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     325  $(SOPHYAINCP)osx_values.h pistdwdgx.h pistdwdggen.h \
     326  piwdgx.h piwdggen.h pimsghandler.h picolist.h pioptmenux.h \
     327  pioptmenugen.h pimenux.h pimenugen.h piwindowx.h piwindowgen.h \
     328  picontainerx.h picontainergen.h piapplx.h piapplgen.h pimenubarx.h \
     329  pimenubargen.h piconsenum.h piimage.h parradapter.h lut.h pipixutils.h \
     330  pieldrw.h pidrawer.h pibwdggen.h picmap.h picmapx.h picmapgen.h \
    281331  pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
    282332  pigraphuc.h pievthandler.h psfile.h pigratt.h piaxes.h pipixmapx.h \
    283   pipixmapgen.h pibwdgx.h pigraphps.h pistdwdgx.h pistdwdggen.h \
    284   piwindowx.h piwindowgen.h picontainerx.h picontainergen.h picmapview.h \
    285   piimgtools.h pioptmenux.h pioptmenugen.h pimenux.h pimenugen.h \
    286   piapplx.h piapplgen.h pimenubarx.h pimenubargen.h picons.h pidrwtools.h \
    287   piscdrawwdg.h piyfxdrw.h
    288         $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piimage.cc
    289  
    290 $(SOPHYAOBJP)piimgtools.o: piimgtools.cc \
    291   $(SOPHYAINCP)sopnamsp.h piimgtools.h pisysdep.h \
    292   $(SOPHYAINCP)machdefs.h pistdwdgx.h \
    293   pistdwdggen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
    294   pioptmenux.h pioptmenugen.h pimenux.h pimenugen.h piwindowx.h \
    295   piwindowgen.h picontainerx.h picontainergen.h piapplx.h piapplgen.h \
    296   pimenubarx.h pimenubargen.h picons.h pibwdgx.h pibwdggen.h picmap.h \
    297   picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h \
    298   pigrcoord.h pilineatt.h pigraphuc.h pievthandler.h psfile.h pigraphps.h \
    299   piimage.h parradapter.h lut.h pieldrw.h pidrawer.h pigratt.h piaxes.h \
    300   pipixmapx.h pipixmapgen.h picmapview.h
     333  pipixmapgen.h pibwdgx.h pigraphps.h picmapview.h
    301334        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piimgtools.cc
    302335 
    303336$(SOPHYAOBJP)pilineatt.o: pilineatt.cc $(SOPHYAINCP)sopnamsp.h \
    304   pilineatt.h pisysdep.h $(SOPHYAINCP)machdefs.h
     337  pilineatt.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     338  $(SOPHYAINCP)osx_values.h
    305339        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pilineatt.cc
    306340 
    307341$(SOPHYAOBJP)pilistgen.o: pilistgen.cc $(SOPHYAINCP)sopnamsp.h \
    308342  pilistgen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    309   piwdgx.h piwdggen.h pimsghandler.h picolist.h
     343  $(SOPHYAINCP)osx_values.h piwdgx.h piwdggen.h \
     344  pimsghandler.h picolist.h
    310345        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pilistgen.cc
    311346 
    312 $(SOPHYAOBJP)pilistx.o: pilistx.cc $(SOPHYAINCP)sopnamsp.h \
    313   pilistx.h pilistgen.h pisysdep.h \
    314   $(SOPHYAINCP)machdefs.h piwdgx.h piwdggen.h \
    315   pimsghandler.h picolist.h picontainerx.h picontainergen.h
     347$(SOPHYAOBJP)pilistx.o: pilistx.cc $(SOPHYAINCP)sopnamsp.h pilistx.h \
     348  pilistgen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     349  $(SOPHYAINCP)osx_values.h piwdgx.h piwdggen.h \
     350  pimsghandler.h picolist.h picontainerx.h picontainergen.h \
     351  /sw/include/Xm/Xm.h /sw/include/Xm/XmStrDefs.h \
     352  /sw/include/Xm/VirtKeys.h /sw/include/Xm/Transfer.h \
     353  /sw/include/Xm/DragDrop.h /sw/include/Xm/DragC.h \
     354  /sw/include/Xm/Display.h /sw/include/Xm/DropSMgr.h \
     355  /sw/include/Xm/DragIcon.h /sw/include/Xm/DropTrans.h \
     356  /sw/include/Xm/DragOverS.h /sw/include/Xm/Primitive.h \
     357  /sw/include/Xm/Manager.h /sw/include/Xm/Gadget.h \
     358  /sw/include/Xm/VendorS.h /sw/include/Xm/XmIm.h /sw/include/Xm/List.h
    316359        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pilistx.cc
    317360 
    318 $(SOPHYAOBJP)pimenubargen.o: pimenubargen.cc \
    319   $(SOPHYAINCP)sopnamsp.h pimenubargen.h \
    320   pisysdep.h $(SOPHYAINCP)machdefs.h pimenux.h \
    321   pimenugen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h piapplx.h \
    322   piapplgen.h picontainerx.h picontainergen.h pimenubarx.h picons.h \
    323   pistdwdgx.h pistdwdggen.h pibwdgx.h pibwdggen.h picmap.h picmapx.h \
    324   picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h \
    325   pilineatt.h pigraphuc.h pievthandler.h psfile.h pigraphps.h
     361$(SOPHYAOBJP)pimenubargen.o: pimenubargen.cc $(SOPHYAINCP)sopnamsp.h \
     362  pimenubargen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     363  $(SOPHYAINCP)osx_values.h pimenux.h pimenugen.h piwdgx.h \
     364  piwdggen.h pimsghandler.h picolist.h piapplx.h piapplgen.h \
     365  picontainerx.h picontainergen.h pimenubarx.h piconsenum.h
    326366        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pimenubargen.cc
    327367 
    328 $(SOPHYAOBJP)pimenubarx.o: pimenubarx.cc \
    329   $(SOPHYAINCP)sopnamsp.h pimenubarx.h \
    330   pimenubargen.h pisysdep.h \
    331   $(SOPHYAINCP)machdefs.h pimenux.h pimenugen.h \
    332   piwdgx.h piwdggen.h pimsghandler.h picolist.h piapplx.h piapplgen.h \
    333   picontainerx.h picontainergen.h picons.h pistdwdgx.h pistdwdggen.h \
    334   pibwdgx.h pibwdggen.h picmap.h picmapx.h picmapgen.h pigraphx.h \
    335   pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h \
    336   pievthandler.h psfile.h pigraphps.h
     368$(SOPHYAOBJP)pimenubarx.o: pimenubarx.cc $(SOPHYAINCP)sopnamsp.h \
     369  pimenubarx.h pimenubargen.h pisysdep.h \
     370  $(SOPHYAINCP)machdefs.h \
     371  $(SOPHYAINCP)osx_values.h pimenux.h pimenugen.h piwdgx.h \
     372  piwdggen.h pimsghandler.h picolist.h piapplx.h piapplgen.h \
     373  picontainerx.h picontainergen.h piconsenum.h /sw/include/Xm/Xm.h \
     374  /sw/include/Xm/XmStrDefs.h /sw/include/Xm/VirtKeys.h \
     375  /sw/include/Xm/Transfer.h /sw/include/Xm/DragDrop.h \
     376  /sw/include/Xm/DragC.h /sw/include/Xm/Display.h \
     377  /sw/include/Xm/DropSMgr.h /sw/include/Xm/DragIcon.h \
     378  /sw/include/Xm/DropTrans.h /sw/include/Xm/DragOverS.h \
     379  /sw/include/Xm/Primitive.h /sw/include/Xm/Manager.h \
     380  /sw/include/Xm/Gadget.h /sw/include/Xm/VendorS.h /sw/include/Xm/XmIm.h \
     381  /sw/include/Xm/RowColumn.h /sw/include/Xm/PushB.h \
     382  /sw/include/Xm/ToggleB.h /sw/include/Xm/CascadeB.h
    337383        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pimenubarx.cc
    338384 
    339385$(SOPHYAOBJP)pimenugen.o: pimenugen.cc $(SOPHYAINCP)sopnamsp.h \
    340386  pimenugen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    341   piwdgx.h piwdggen.h pimsghandler.h picolist.h
     387  $(SOPHYAINCP)osx_values.h piwdgx.h piwdggen.h \
     388  pimsghandler.h picolist.h
    342389        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pimenugen.cc
    343390 
    344 $(SOPHYAOBJP)pimenux.o: pimenux.cc $(SOPHYAINCP)sopnamsp.h \
    345   pisysdep.h $(SOPHYAINCP)machdefs.h pimenubarx.h \
    346   pimenubargen.h pimenux.h pimenugen.h piwdgx.h piwdggen.h pimsghandler.h \
    347   picolist.h
     391$(SOPHYAOBJP)pimenux.o: pimenux.cc $(SOPHYAINCP)sopnamsp.h pisysdep.h \
     392  $(SOPHYAINCP)machdefs.h \
     393  $(SOPHYAINCP)osx_values.h pimenubarx.h pimenubargen.h \
     394  pimenux.h pimenugen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
     395  /sw/include/Xm/Xm.h /sw/include/Xm/XmStrDefs.h \
     396  /sw/include/Xm/VirtKeys.h /sw/include/Xm/Transfer.h \
     397  /sw/include/Xm/DragDrop.h /sw/include/Xm/DragC.h \
     398  /sw/include/Xm/Display.h /sw/include/Xm/DropSMgr.h \
     399  /sw/include/Xm/DragIcon.h /sw/include/Xm/DropTrans.h \
     400  /sw/include/Xm/DragOverS.h /sw/include/Xm/Primitive.h \
     401  /sw/include/Xm/Manager.h /sw/include/Xm/Gadget.h \
     402  /sw/include/Xm/VendorS.h /sw/include/Xm/XmIm.h \
     403  /sw/include/Xm/RowColumn.h /sw/include/Xm/PushB.h \
     404  /sw/include/Xm/ToggleB.h /sw/include/Xm/CascadeB.h \
     405  /sw/include/Xm/Separator.h
    348406        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pimenux.cc
    349407 
    350 $(SOPHYAOBJP)pimsghandler.o: pimsghandler.cc \
    351   $(SOPHYAINCP)sopnamsp.h pimsghandler.h \
    352   $(SOPHYAINCP)machdefs.h
     408$(SOPHYAOBJP)pimsghandler.o: pimsghandler.cc $(SOPHYAINCP)sopnamsp.h \
     409  pimsghandler.h $(SOPHYAINCP)machdefs.h \
     410  $(SOPHYAINCP)osx_values.h
    353411        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pimsghandler.cc
    354412 
    355 $(SOPHYAOBJP)pioptmenugen.o: pioptmenugen.cc \
    356   $(SOPHYAINCP)sopnamsp.h pioptmenugen.h \
    357   pisysdep.h $(SOPHYAINCP)machdefs.h pimenux.h \
    358   pimenugen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h
     413$(SOPHYAOBJP)pioptmenugen.o: pioptmenugen.cc $(SOPHYAINCP)sopnamsp.h \
     414  pioptmenugen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     415  $(SOPHYAINCP)osx_values.h pimenux.h pimenugen.h piwdgx.h \
     416  piwdggen.h pimsghandler.h picolist.h
    359417        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pioptmenugen.cc
    360418 
    361 $(SOPHYAOBJP)pioptmenux.o: pioptmenux.cc \
    362   $(SOPHYAINCP)sopnamsp.h pisysdep.h \
    363   $(SOPHYAINCP)machdefs.h pioptmenux.h \
    364   pioptmenugen.h pimenux.h pimenugen.h piwdgx.h piwdggen.h pimsghandler.h \
    365   picolist.h pistdwdgx.h pistdwdggen.h piapplx.h piapplgen.h \
    366   picontainerx.h picontainergen.h pimenubarx.h pimenubargen.h picons.h \
    367   pibwdgx.h pibwdggen.h picmap.h picmapx.h picmapgen.h pigraphx.h \
    368   pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h \
    369   pievthandler.h psfile.h pigraphps.h
     419$(SOPHYAOBJP)pioptmenux.o: pioptmenux.cc /sw/include/Xm/Xm.h \
     420  /sw/include/Xm/XmStrDefs.h /sw/include/Xm/VirtKeys.h \
     421  /sw/include/Xm/Transfer.h /sw/include/Xm/DragDrop.h \
     422  /sw/include/Xm/DragC.h /sw/include/Xm/Display.h \
     423  /sw/include/Xm/DropSMgr.h /sw/include/Xm/DragIcon.h \
     424  /sw/include/Xm/DropTrans.h /sw/include/Xm/DragOverS.h \
     425  /sw/include/Xm/Primitive.h /sw/include/Xm/Manager.h \
     426  /sw/include/Xm/Gadget.h /sw/include/Xm/VendorS.h /sw/include/Xm/XmIm.h \
     427  /sw/include/Xm/PushB.h $(SOPHYAINCP)sopnamsp.h pisysdep.h \
     428  $(SOPHYAINCP)machdefs.h \
     429  $(SOPHYAINCP)osx_values.h pioptmenux.h pioptmenugen.h \
     430  pimenux.h pimenugen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
     431  pistdwdgx.h pistdwdggen.h piapplx.h piapplgen.h picontainerx.h \
     432  picontainergen.h pimenubarx.h pimenubargen.h piconsenum.h
    370433        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pioptmenux.cc
    371434 
    372 $(SOPHYAOBJP)piperiodx.o: piperiodx.cc $(SOPHYAINCP)sopnamsp.h \
    373   piwdgx.h piwdggen.h $(SOPHYAINCP)machdefs.h \
    374   pimsghandler.h picolist.h piperiodx.h \
    375   $(SOPHYAINCP)periodic.h \
     435$(SOPHYAOBJP)piperiodx.o: piperiodx.cc $(SOPHYAINCP)sopnamsp.h piwdgx.h \
     436  piwdggen.h $(SOPHYAINCP)machdefs.h \
     437  $(SOPHYAINCP)osx_values.h pimsghandler.h picolist.h \
     438  piperiodx.h $(SOPHYAINCP)periodic.h \
    376439  $(SOPHYAINCP)machdefs.h
    377440        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piperiodx.cc
    378441 
    379 $(SOPHYAOBJP)pipixmapgen.o: pipixmapgen.cc \
    380   $(SOPHYAINCP)sopnamsp.h pipixmapgen.h \
    381   pisysdep.h $(SOPHYAINCP)machdefs.h pibwdgx.h \
    382   pibwdggen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h \
    383   picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h \
    384   pigrcoord.h pilineatt.h pigraphuc.h pievthandler.h psfile.h pigraphps.h
     442$(SOPHYAOBJP)pipixmapgen.o: pipixmapgen.cc $(SOPHYAINCP)sopnamsp.h \
     443  pipixmapgen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     444  $(SOPHYAINCP)osx_values.h pibwdgx.h pibwdggen.h piwdgx.h \
     445  piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h \
     446  pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
     447  pipixutils.h pigraphuc.h pievthandler.h psfile.h pigraphps.h
    385448        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pipixmapgen.cc
    386449 
    387450$(SOPHYAOBJP)pipixmapx.o: pipixmapx.cc $(SOPHYAINCP)sopnamsp.h \
    388451  pipixmapx.h pipixmapgen.h pisysdep.h \
    389   $(SOPHYAINCP)machdefs.h pibwdgx.h pibwdggen.h \
    390   piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h \
    391   picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h \
    392   pilineatt.h pigraphuc.h pievthandler.h psfile.h pigraphps.h
     452  $(SOPHYAINCP)machdefs.h \
     453  $(SOPHYAINCP)osx_values.h pibwdgx.h pibwdggen.h piwdgx.h \
     454  piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h \
     455  pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
     456  pipixutils.h pigraphuc.h pievthandler.h psfile.h pigraphps.h
    393457        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pipixmapx.cc
    394458 
    395 $(SOPHYAOBJP)piscdrawwdg.o: piscdrawwdg.cc \
    396   $(SOPHYAINCP)sopnamsp.h \
    397   $(SOPHYAINCP)machdefs.h piscdrawwdg.h \
    398   pisysdep.h pibwdgx.h pibwdggen.h piwdgx.h piwdggen.h pimsghandler.h \
    399   picolist.h picmap.h picmapx.h picmapgen.h pigraphx.h pigraphgen.h \
    400   pifontx.h pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h \
     459$(SOPHYAOBJP)pipixutils.o: pipixutils.cc pipixutils.h
     460        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pipixutils.cc
     461 
     462$(SOPHYAOBJP)piscdrawwdg.o: piscdrawwdg.cc $(SOPHYAINCP)sopnamsp.h \
     463  $(SOPHYAINCP)machdefs.h \
     464  $(SOPHYAINCP)osx_values.h piscdrawwdg.h pisysdep.h \
     465  pibwdgx.h pibwdggen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
     466  picmap.h picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h \
     467  pifontgen.h pigrcoord.h pilineatt.h pipixutils.h pigraphuc.h \
    401468  pievthandler.h psfile.h pigraphps.h pistdwdgx.h pistdwdggen.h \
    402469  piwindowx.h piwindowgen.h picontainerx.h picontainergen.h pidrawer.h \
    403470  pigratt.h piaxes.h pieldrw.h pidrwtools.h pimenux.h pimenugen.h \
    404471  pioptmenux.h pioptmenugen.h piapplx.h piapplgen.h pimenubarx.h \
    405   pimenubargen.h picons.h piaxestools.h
     472  pimenubargen.h piconsenum.h piaxestools.h
    406473        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piscdrawwdg.cc
    407474 
    408 $(SOPHYAOBJP)pistdwdggen.o: pistdwdggen.cc \
    409   $(SOPHYAINCP)sopnamsp.h pistdwdggen.h \
    410   pisysdep.h $(SOPHYAINCP)machdefs.h piwdgx.h \
    411   piwdggen.h pimsghandler.h picolist.h
     475$(SOPHYAOBJP)pistdwdggen.o: pistdwdggen.cc $(SOPHYAINCP)sopnamsp.h \
     476  pistdwdggen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     477  $(SOPHYAINCP)osx_values.h piwdgx.h piwdggen.h \
     478  pimsghandler.h picolist.h
    412479        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pistdwdggen.cc
    413480 
    414 $(SOPHYAOBJP)pistdwdgx.o: pistdwdgx.cc $(SOPHYAINCP)sopnamsp.h \
    415   pisysdep.h $(SOPHYAINCP)machdefs.h pistdwdgx.h \
    416   pistdwdggen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
    417   picontainerx.h picontainergen.h
     481$(SOPHYAOBJP)pistdwdgx.o: pistdwdgx.cc $(SOPHYAINCP)sopnamsp.h pisysdep.h \
     482  $(SOPHYAINCP)machdefs.h \
     483  $(SOPHYAINCP)osx_values.h pistdwdgx.h pistdwdggen.h \
     484  piwdgx.h piwdggen.h pimsghandler.h picolist.h picontainerx.h \
     485  picontainergen.h /sw/include/Xm/Label.h /sw/include/Xm/Xm.h \
     486  /sw/include/Xm/XmStrDefs.h /sw/include/Xm/VirtKeys.h \
     487  /sw/include/Xm/Transfer.h /sw/include/Xm/DragDrop.h \
     488  /sw/include/Xm/DragC.h /sw/include/Xm/Display.h \
     489  /sw/include/Xm/DropSMgr.h /sw/include/Xm/DragIcon.h \
     490  /sw/include/Xm/DropTrans.h /sw/include/Xm/DragOverS.h \
     491  /sw/include/Xm/Primitive.h /sw/include/Xm/Manager.h \
     492  /sw/include/Xm/Gadget.h /sw/include/Xm/VendorS.h /sw/include/Xm/XmIm.h \
     493  /sw/include/Xm/PushB.h /sw/include/Xm/ArrowB.h /sw/include/Xm/Text.h \
     494  /sw/include/Xm/ToggleB.h /sw/include/Xm/Scale.h \
     495  /sw/include/Xm/ScrollBar.h
    418496        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pistdwdgx.cc
    419497 
    420 $(SOPHYAOBJP)pistzwin.o: pistzwin.cc $(SOPHYAINCP)sopnamsp.h \
    421   pistzwin.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    422   piwindowx.h piwindowgen.h picontainerx.h picontainergen.h piwdgx.h \
    423   piwdggen.h pimsghandler.h picolist.h piperiodx.h \
    424   $(SOPHYAINCP)periodic.h \
    425   $(SOPHYAINCP)machdefs.h psfile.h pifontgen.h \
    426   pigraphgen.h picmap.h picmapx.h picmapgen.h pifontx.h pigrcoord.h \
    427   pilineatt.h
     498$(SOPHYAOBJP)pistzwin.o: pistzwin.cc $(SOPHYAINCP)sopnamsp.h pistzwin.h \
     499  pisysdep.h $(SOPHYAINCP)machdefs.h \
     500  $(SOPHYAINCP)osx_values.h piwindowx.h piwindowgen.h \
     501  picontainerx.h picontainergen.h piwdgx.h piwdggen.h pimsghandler.h \
     502  picolist.h piperiodx.h $(SOPHYAINCP)periodic.h \
     503  $(SOPHYAINCP)machdefs.h psfile.h pifontgen.h pigraphgen.h \
     504  picmap.h picmapx.h picmapgen.h pifontx.h pigrcoord.h pilineatt.h \
     505  pipixutils.h
    428506        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pistzwin.cc
    429507 
    430 $(SOPHYAOBJP)pisurfdr.o: pisurfdr.cc $(SOPHYAINCP)sopnamsp.h \
    431   pisurfdr.h parradapter.h \
    432   $(SOPHYAINCP)machdefs.h lut.h pi3ddrw.h \
     508$(SOPHYAOBJP)pisurfdr.o: pisurfdr.cc $(SOPHYAINCP)sopnamsp.h pisurfdr.h \
     509  parradapter.h $(SOPHYAINCP)machdefs.h \
     510  $(SOPHYAINCP)osx_values.h lut.h pipixutils.h pi3ddrw.h \
    433511  pisysdep.h pidrawer.h pibwdggen.h piwdgx.h piwdggen.h pimsghandler.h \
    434512  picolist.h picmap.h picmapx.h picmapgen.h pigraphx.h pigraphgen.h \
     
    437515        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pisurfdr.cc
    438516 
    439 $(SOPHYAOBJP)pitherm.o: pitherm.cc $(SOPHYAINCP)sopnamsp.h \
    440   pitherm.h pisysdep.h $(SOPHYAINCP)machdefs.h \
    441   pibwdgx.h pibwdggen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
    442   picmap.h picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h \
    443   pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h pievthandler.h psfile.h \
    444   pigraphps.h
     517$(SOPHYAOBJP)pitherm.o: pitherm.cc $(SOPHYAINCP)sopnamsp.h pitherm.h \
     518  pisysdep.h $(SOPHYAINCP)machdefs.h \
     519  $(SOPHYAINCP)osx_values.h pibwdgx.h pibwdggen.h piwdgx.h \
     520  piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h \
     521  pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
     522  pipixutils.h pigraphuc.h pievthandler.h psfile.h pigraphps.h
    445523        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pitherm.cc
    446524 
    447525$(SOPHYAOBJP)pitxtdrw.o: pitxtdrw.cc $(SOPHYAINCP)sopnamsp.h \
    448   $(SOPHYAINCP)machdefs.h pitxtdrw.h pisysdep.h \
    449   pidrawer.h pibwdggen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
    450   picmap.h picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h \
    451   pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h pievthandler.h psfile.h \
    452   pigratt.h piaxes.h
     526  $(SOPHYAINCP)machdefs.h \
     527  $(SOPHYAINCP)osx_values.h pitxtdrw.h pisysdep.h pidrawer.h \
     528  pibwdggen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h \
     529  picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h \
     530  pigrcoord.h pilineatt.h pipixutils.h pigraphuc.h pievthandler.h \
     531  psfile.h pigratt.h piaxes.h
    453532        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pitxtdrw.cc
    454533 
    455 $(SOPHYAOBJP)piwdggen.o: piwdggen.cc $(SOPHYAINCP)sopnamsp.h \
    456   piwdggen.h $(SOPHYAINCP)machdefs.h \
    457   pimsghandler.h picolist.h picontainergen.h pisysdep.h piwdgx.h \
    458   pievthandler.h pigraphx.h pigraphgen.h picmap.h picmapx.h picmapgen.h \
    459   pifontx.h pifontgen.h pigrcoord.h pilineatt.h psfile.h
     534$(SOPHYAOBJP)piwdggen.o: piwdggen.cc $(SOPHYAINCP)sopnamsp.h piwdggen.h \
     535  $(SOPHYAINCP)machdefs.h \
     536  $(SOPHYAINCP)osx_values.h pimsghandler.h picolist.h \
     537  picontainergen.h pisysdep.h piwdgx.h pievthandler.h pigraphx.h \
     538  pigraphgen.h picmap.h picmapx.h picmapgen.h pifontx.h pifontgen.h \
     539  pigrcoord.h pilineatt.h pipixutils.h psfile.h
    460540        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piwdggen.cc
    461541 
    462 $(SOPHYAOBJP)piwdgx.o: piwdgx.cc $(SOPHYAINCP)sopnamsp.h \
     542$(SOPHYAOBJP)piwdgx.o: piwdgx.cc /sw/include/Xm/Xm.h /sw/include/Xm/XmStrDefs.h \
     543  /sw/include/Xm/VirtKeys.h /sw/include/Xm/Transfer.h \
     544  /sw/include/Xm/DragDrop.h /sw/include/Xm/DragC.h \
     545  /sw/include/Xm/Display.h /sw/include/Xm/DropSMgr.h \
     546  /sw/include/Xm/DragIcon.h /sw/include/Xm/DropTrans.h \
     547  /sw/include/Xm/DragOverS.h /sw/include/Xm/Primitive.h \
     548  /sw/include/Xm/Manager.h /sw/include/Xm/Gadget.h \
     549  /sw/include/Xm/VendorS.h /sw/include/Xm/XmIm.h /sw/include/Xm/Form.h \
     550  /sw/include/Xm/BulletinB.h $(SOPHYAINCP)sopnamsp.h \
    463551  piwdgx.h piwdggen.h $(SOPHYAINCP)machdefs.h \
    464   pimsghandler.h picolist.h picontainerx.h pisysdep.h picontainergen.h \
    465   pievthandler.h pigraphx.h pigraphgen.h picmap.h picmapx.h picmapgen.h \
    466   pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
     552  $(SOPHYAINCP)osx_values.h pimsghandler.h picolist.h \
     553  picontainerx.h pisysdep.h picontainergen.h pievthandler.h pigraphx.h \
     554  pigraphgen.h picmap.h picmapx.h picmapgen.h pifontx.h pifontgen.h \
     555  pigrcoord.h pilineatt.h pipixutils.h \
    467556  $(SOPHYAINCP)pexceptions.h \
    468557  $(SOPHYAINCP)machdefs.h
    469558        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piwdgx.cc
    470559 
    471 $(SOPHYAOBJP)piwindowgen.o: piwindowgen.cc \
    472   $(SOPHYAINCP)sopnamsp.h piwindowgen.h \
    473   pisysdep.h $(SOPHYAINCP)machdefs.h \
    474   picontainerx.h picontainergen.h piwdgx.h piwdggen.h pimsghandler.h \
    475   picolist.h psfile.h pifontgen.h pigraphgen.h picmap.h picmapx.h \
    476   picmapgen.h pifontx.h pigrcoord.h pilineatt.h
     560$(SOPHYAOBJP)piwindowgen.o: piwindowgen.cc $(SOPHYAINCP)sopnamsp.h \
     561  piwindowgen.h pisysdep.h $(SOPHYAINCP)machdefs.h \
     562  $(SOPHYAINCP)osx_values.h picontainerx.h picontainergen.h \
     563  piwdgx.h piwdggen.h pimsghandler.h picolist.h psfile.h pifontgen.h \
     564  pigraphgen.h picmap.h picmapx.h picmapgen.h pifontx.h pigrcoord.h \
     565  pilineatt.h pipixutils.h
    477566        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piwindowgen.cc
    478567 
    479568$(SOPHYAOBJP)piwindowx.o: piwindowx.cc $(SOPHYAINCP)sopnamsp.h \
    480569  piwindowx.h piwindowgen.h pisysdep.h \
    481   $(SOPHYAINCP)machdefs.h picontainerx.h \
    482   picontainergen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h
     570  $(SOPHYAINCP)machdefs.h \
     571  $(SOPHYAINCP)osx_values.h picontainerx.h picontainergen.h \
     572  piwdgx.h piwdggen.h pimsghandler.h picolist.h /sw/include/Xm/Form.h \
     573  /sw/include/Xm/BulletinB.h /sw/include/Xm/Xm.h \
     574  /sw/include/Xm/XmStrDefs.h /sw/include/Xm/VirtKeys.h \
     575  /sw/include/Xm/Transfer.h /sw/include/Xm/DragDrop.h \
     576  /sw/include/Xm/DragC.h /sw/include/Xm/Display.h \
     577  /sw/include/Xm/DropSMgr.h /sw/include/Xm/DragIcon.h \
     578  /sw/include/Xm/DropTrans.h /sw/include/Xm/DragOverS.h \
     579  /sw/include/Xm/Primitive.h /sw/include/Xm/Manager.h \
     580  /sw/include/Xm/Gadget.h /sw/include/Xm/VendorS.h /sw/include/Xm/XmIm.h
    483581        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piwindowx.cc
    484582 
    485583$(SOPHYAOBJP)pixtbase.o: pixtbase.cc $(SOPHYAINCP)sopnamsp.h \
    486   $(SOPHYAINCP)machdefs.h pixtbaseP.h pibwdgx.h \
    487   pisysdep.h pibwdggen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
    488   picmap.h picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h \
    489   pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h pievthandler.h psfile.h \
    490   pigraphps.h pixtbase.h
     584  $(SOPHYAINCP)machdefs.h \
     585  $(SOPHYAINCP)osx_values.h pixtbaseP.h pibwdgx.h pisysdep.h \
     586  pibwdggen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h \
     587  picmapx.h picmapgen.h pigraphx.h pigraphgen.h pifontx.h pifontgen.h \
     588  pigrcoord.h pilineatt.h pipixutils.h pigraphuc.h pievthandler.h \
     589  psfile.h pigraphps.h pixtbase.h
    491590        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  pixtbase.cc
    492591 
    493592$(SOPHYAOBJP)piyfxdrw.o: piyfxdrw.cc $(SOPHYAINCP)sopnamsp.h \
    494   $(SOPHYAINCP)machdefs.h piyfxdrw.h pisysdep.h \
    495   parradapter.h lut.h pidrawer.h pibwdggen.h piwdgx.h piwdggen.h \
    496   pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h pigraphx.h \
    497   pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h pigraphuc.h \
    498   pievthandler.h psfile.h pigratt.h piaxes.h
     593  $(SOPHYAINCP)machdefs.h \
     594  $(SOPHYAINCP)osx_values.h piyfxdrw.h pisysdep.h \
     595  parradapter.h lut.h pipixutils.h pidrawer.h pibwdggen.h piwdgx.h \
     596  piwdggen.h pimsghandler.h picolist.h picmap.h picmapx.h picmapgen.h \
     597  pigraphx.h pigraphgen.h pifontx.h pifontgen.h pigrcoord.h pilineatt.h \
     598  pigraphuc.h pievthandler.h psfile.h pigratt.h piaxes.h
    499599        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  piyfxdrw.cc
    500600 
    501 $(SOPHYAOBJP)psfile.o: psfile.cc $(SOPHYAINCP)sopnamsp.h \
    502   psfile.h $(SOPHYAINCP)machdefs.h pisysdep.h \
    503   pifontgen.h pigraphgen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h \
    504   picmap.h picmapx.h picmapgen.h pifontx.h pigrcoord.h pilineatt.h
     601$(SOPHYAOBJP)psfile.o: psfile.cc $(SOPHYAINCP)sopnamsp.h psfile.h \
     602  $(SOPHYAINCP)machdefs.h \
     603  $(SOPHYAINCP)osx_values.h pisysdep.h pifontgen.h \
     604  pigraphgen.h piwdgx.h piwdggen.h pimsghandler.h picolist.h picmap.h \
     605  picmapx.h picmapgen.h pifontx.h pigrcoord.h pilineatt.h pipixutils.h
    505606        $(CXXCOMPILE) $(CXXTEMPFLG) -o $@  psfile.cc
    506607 
  • trunk/SophyaPI/PI/lut.cc

    r2615 r3519  
    1515/* --Methode-- */
    1616
    17 LUT::LUT(double min, double max, unsigned short ncol, int typ, int ntable)
     17LUT::LUT(double min, double max, unsigned short ncol, int typ)
    1818{
    19 int nlev;
    20 
    21 bornes=NULL;
    22 nlev = ncol-2;
     19int nlev = ncol-2;
    2320if (nlev < 1)  nlev = 1;
    2421bornes = new double[nlev+1];
     
    3936delete[] table;
    4037}
     38/* --Methode-- */
     39void LUT::SetNCol(unsigned short ncol)
     40{
     41if (ncol == NCol())  return;
     42double min = Min();
     43double max = Max();
     44if (bornes) delete[] bornes;
     45int nlev = ncol-2;
     46if (nlev < 1)  nlev = 1;
     47bornes = new double[nlev+1];
     48nLevel = nlev;
     49SetLut(min, max, Type());
     50}
    4151
    4252/* --Methode-- */
    43 void LUT::SetLut(double min, double max, int typ, int ntable)
     53void LUT::SetLut(double min, double max, int typ)
    4454{
    4555
    4656if(  (typ != kLutType_Lin)  && (typ != kLutType_Log)
    47   && (typ != kLutType_Sqrt) && (typ != kLutType_Square)
    48   )  typ = kLutType_Lin;
     57  && (typ != kLutType_Sqrt) && (typ != kLutType_Square) 
     58  && (typ != kLutType_RGB) )  typ = kLutType_Lin;
    4959type = typ;
    5060if (max <= min)  max = min+1.;
     
    5767    {
    5868    case kLutType_Lin :
     69    case kLutType_RGB :
    5970      dx = (max-min)/(double)nLevel;
    6071      for(i=0; i<nLevel; i++)
     
    8495  }
    8596else  bornes[0] = 0.5*(min+max);
    86 ComputeTable((ntable > nLevel) ? ntable : tablenbin);
     97// ComputeTable((ntable > nLevel) ? ntable : tablenbin);
     98ComputeTable(0);
    8799return;
    88100}
     
    110122
    111123/* --Methode-- */
     124unsigned short LUT::ApplyRGB(double x)
     125{
     126  long lv = x+0.3;
     127  double r = (lv%256);
     128  lv /= 256;
     129  double g = (lv%256);
     130  lv /= 256;
     131  double b = (lv%256);
     132  int qqq = 1;
     133  int quantum = 1;
     134  for(quantum=2; quantum<=42; quantum++) {
     135        qqq = quantum*quantum*quantum;
     136        if (qqq > NCol())  break;
     137  }
     138  quantum--;
     139  int ir = AppFast(r)*quantum/(NCol());
     140  int ig = AppFast(g)*quantum/(NCol());
     141  int ib = AppFast(b)*quantum/(NCol());
     142  return ((unsigned short)((ib*quantum+ig)*quantum+ir));
     143}
     144
     145/* --Methode-- */
    112146void LUT::ComputeTable(int nt)
    113147{
     
    115149else if (nt < (nLevel+2))  nt = (nLevel+2);
    116150tablenbin = nt;
     151if (table) delete[] table;
    117152table = new unsigned short [nt-2];
    118153tablebinwidth = (Max()-Min())/(nt-2);
  • trunk/SophyaPI/PI/lut.h

    r3292 r3519  
    1313
    1414// Type de lut possibles
    15 enum {kLutType_Lin=1, kLutType_Log=2, kLutType_Sqrt=3, kLutType_Square=4};
     15enum {kLutType_Lin=1, kLutType_Log=2, kLutType_Sqrt=3, kLutType_Square=4, kLutType_RGB=11 };
    1616
    1717class LUT
     
    1919public:
    2020 
    21   LUT(double min, double max, unsigned short ncol=16, int typ=kLutType_Lin, int ntable=0);
     21  LUT(double min, double max, unsigned short ncol=16, int typ=kLutType_Lin);
    2222  ~LUT();
    23   void SetLut(double min, double max, int typ=kLutType_Lin, int ntable=0);
     23  void SetNCol(unsigned short ncol);
     24  void SetLut(double min, double max, int typ=kLutType_Lin);
    2425  void Print();
    2526  unsigned short Apply(double x);
     27  unsigned short ApplyRGB(double x);
     28
    2629  inline unsigned short ApplyFast(double x)
    2730    {
    28     if (x < Min())  return(0);
    29     if (x >= Max() )  return(nLevel+1); 
    30     int k = (int)((x-Min())/tablebinwidth);
    31     return(table[k]);
     31    if (type == kLutType_RGB) return ApplyRGB(x);
     32    else return AppFast(x);     
    3233    }
     34
    3335
    3436  inline double Min() { return(bornes[0]); };
     
    3739  inline int NCol() { return(nLevel+2); };
    3840
     41
    3942protected:
    4043  void ComputeTable(int nt);
    41 
     44  inline unsigned short AppFast(double x)
     45    {
     46    if (x < Min())  return(0);
     47    if (x >= Max() )  return(nLevel+1); 
     48    int k = (int)((x-Min())/tablebinwidth);
     49    return(table[k]);
     50    }
     51         
    4252  int type;
    4353  int nLevel;
  • trunk/SophyaPI/PI/objlist.list

    r2543 r3519  
     1copy_pipixmapx.o
    12lut.o
    23parradapter.o
     
    4849pipixmapgen.o
    4950pipixmapx.o
     51pipixutils.o
    5052piscdrawwdg.o
    5153pistdwdggen.o
  • trunk/SophyaPI/PI/parradapter.cc

    r3461 r3519  
    174174
    175175/* --Methode-- */
     176double  P2DArrayAdapter::MeanVal(int ix1, int ix2, int jy1, int jy2)
     177{
     178int ec;
     179if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; }
     180if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; }   
     181// On calcule la somme des pixels dans la zone
     182double ss = 0.;
     183for(int j=jy1; j<=jy2; j++)
     184  for(int i=ix1; i<=ix2; i++)  ss += Value(i,j);
     185
     186ss /= (double)((jy2-jy1+1)*(ix2-ix1+1));
     187return ss; 
     188}   
     189
     190/* --Methode-- */
    176191void P2DArrayAdapter::XYfromxy(int ix, int iy, double& x, double& y)
    177192{
     
    433448
    434449/* --Methode-- */
    435 unsigned char * P2DArrayAdapter::ComputePixmap(LUT* lut, int ofx, int ofy, int zm,
    436                 int xwsz, int ywsz, unsigned char * opix, int * oxsp, int * oysp)
     450void P2DArrayAdapter::ComputePixmap(LUT* lut, int ofx, int ofy, int zm,
     451                                    int xwsz, int ywsz, PIPixColIdx & pixc)
    437452{
    438453// TIMEF ;
    439 unsigned char *pix, *pp, ucp;
    440454int zmm=1;
    441 int npx, npy, nppx, nppy, nszp, oszp;
     455int npx, npy, nppx, nppy;
    442456int i,j,k,l;
    443 double vpx;
    444457
    445458/*
     
    448461*/
    449462
    450 if ( (XSize() <= 0) || (YSize() <= 0) || (lut == NULL) || (ofx < 0) || (ofy < 0) )
    451   { *oxsp = *oysp = 0; return(NULL); }
     463if ( (XSize() <= 0) || (YSize() <= 0) || (lut == NULL) || (ofx < 0) || (ofy < 0) ) {
     464  pixc.DeAlloc();  return;
     465}
    452466
    453467npx = XSize()-ofx;
     
    471485  }
    472486
    473 oszp = (*oxsp)*(*oysp);
    474 nszp = nppx*nppy;
    475 if ( oszp != nszp )
    476   {
    477   if (opix)  delete[] opix;
    478   pix = new unsigned char[nppx*nppy];
    479   if (pix == NULL)  { *oxsp = *oysp = 0; ; return(NULL); }
    480   }
    481 else  pix = opix;
    482 *oxsp = nppx; *oysp = nppy;
    483 
     487
     488/* printf("Debug_ComputePixmap %d %d %d (%d-%d %d-%d)\n",
     489      ofx, ofy, zm, npx,nppx, npy,nppy); */
     490if (lut->NCol() <= 256) {  // On fait un pixmap de type Byte/pixel
    484491/*
    485 printf("Debug_ComputePixmap %d %d %d (%d-%d %d-%d)\n",
    486       ofx, ofy, zm, npx,nppx, npy,nppy);
    487 */
    488 
    489 pp = pix;
     492printf("Debug_ComputePixmap- pixc.AllocateByte() type=%d - %d %d %d - %d %d %d - %d %d %d \n",
     493  lut->Type(),
     494  lut->ApplyFast(0.), lut->ApplyFast(1.), lut->ApplyFast(2.),
     495  lut->ApplyRGB(0.), lut->ApplyRGB(1.), lut->ApplyRGB(2.),
     496  lut->Apply(0.), lut->Apply(1.), lut->Apply(2.));
     497*/ 
     498unsigned char *pp, ucp;
     499pixc.AllocateByte(nppx, nppy);
     500pp = pixc.BytePointer();
    490501if (eXY) { // Echange Axe X,Y
    491502  if (zm == 1)  {  // Pas de zoom 
     
    497508    }
    498509  else if (zm < -1) {       // Compression
    499     double fv = (double)(zmm*zmm);
    500510    for(j=ofy; j<ofy+npy; j+=zmm)
    501       for(i=ofx; i<ofx+npx; i+=zmm) {
    502         vpx = 0;
    503         for(l=0; l<zmm; l++)
    504           for(k=0; k<zmm; k++)
    505             vpx += this->Value( (j+l)*sgnX+offX, (i+k)*sgnY+offY);
    506         *pp = (unsigned char) lut->ApplyFast(vpx/fv);
     511      for(i=ofx; i<ofx+npx; i+=zmm) {
     512        *pp = lut->ApplyFast( MeanVal(j*sgnX+offX, (j+zmm-1)*sgnX+offX,
     513                                      i*sgnY+offY, (i+zmm-1)*sgnY+offY) );
    507514        pp++;
    508         }
     515      }
    509516    }
    510517  else  {      // Agrandissement
     
    513520        ucp = (unsigned char) lut->ApplyFast(this->Value(j*sgnX+offX, i*sgnY+offY));
    514521        for(l=0; l<zm; l++)  {
    515           pp = pix+((j-ofy)*zm+l)*nppx+((i-ofx)*zm);
     522          pp = pixc.BytePointer()+((j-ofy)*zm+l)*nppx+((i-ofx)*zm);
    516523          for(k=0; k<zm; k++)  { *pp = ucp; pp++; } 
    517524          }
     
    528535    }
    529536  else if (zm < -1) {       // Compression
    530     double fv = (double)(zmm*zmm);
    531537    for(j=ofy; j<ofy+npy; j+=zmm)
    532538      for(i=ofx; i<ofx+npx; i+=zmm) {
    533         vpx = 0;
    534         for(l=0; l<zmm; l++)
    535           for(k=0; k<zmm; k++)
    536             vpx += this->Value( (i+k)*sgnX+offX, (j+l)*sgnY+offY);
    537         *pp = (unsigned char) lut->ApplyFast(vpx/fv);
     539        *pp = lut->ApplyFast( MeanVal(i*sgnX+offX, (i+zmm-1)*sgnX+offX,
     540                                      j*sgnY+offY, (j+zmm-1)*sgnY+offY) );
    538541        pp++;
    539         }
     542      }
    540543    }
    541544  else  {      // Agrandissement
     
    544547        ucp = (unsigned char) lut->ApplyFast(this->Value(i*sgnX+offX, j*sgnY+offY));
    545548        for(l=0; l<zm; l++)  {
    546           pp = pix+((j-ofy)*zm+l)*nppx+((i-ofx)*zm);
     549          pp = pixc.BytePointer()+((j-ofy)*zm+l)*nppx+((i-ofx)*zm);
    547550          for(k=0; k<zm; k++)  { *pp = ucp; pp++; } 
    548551          }
     
    550553    }
    551554  }
    552 return(pix);
     555}  //  ---- Fin pixmap de type Byte
     556else {  // On fait un pixmap de type short/pixel
     557// printf("Debug_ComputePixmap- pixc.AllocateShort() \n");
     558unsigned short *pp, ucp;
     559pixc.AllocateShort(nppx, nppy);
     560pp = pixc.ShortPointer();
     561if (eXY) { // Echange Axe X,Y
     562  if (zm == 1)  {  // Pas de zoom 
     563    for(j=ofy; j<ofy+npy; j++)
     564      for(i=ofx; i<ofx+npx; i++)
     565        { *pp = (unsigned char) lut->ApplyFast(
     566                this->Value(j*sgnX+offX, i*sgnY+offY)); 
     567           pp++; }
     568    }
     569  else if (zm < -1) {       // Compression
     570    for(j=ofy; j<ofy+npy; j+=zmm)
     571      for(i=ofx; i<ofx+npx; i+=zmm) {
     572        *pp = lut->ApplyFast( MeanVal(j*sgnX+offX, (j+zmm-1)*sgnX+offX,
     573                                      i*sgnY+offY, (i+zmm-1)*sgnY+offY) );
     574        pp++;
     575      }
     576    }
     577  else  {      // Agrandissement
     578    for(j=ofy; j<ofy+npy; j++)
     579      for(i=ofx; i<ofx+npx; i++)  {
     580        ucp = (unsigned char) lut->ApplyFast(this->Value(j*sgnX+offX, i*sgnY+offY));
     581        for(l=0; l<zm; l++)  {
     582          pp = pixc.ShortPointer()+((j-ofy)*zm+l)*nppx+((i-ofx)*zm);
     583          for(k=0; k<zm; k++)  { *pp = ucp; pp++; } 
     584          }
     585        }
     586    }
     587  }     // Fin du cas avec echange d'axe X/Y
     588else {
     589  if (zm == 1)  {  // Pas de zoom 
     590    for(j=ofy; j<ofy+npy; j++)
     591      for(i=ofx; i<ofx+npx; i++)
     592        { *pp = (unsigned char) lut->ApplyFast(
     593                this->Value(i*sgnX+offX, j*sgnY+offY)); 
     594           pp++; }
     595    }
     596  else if (zm < -1) {       // Compression
     597    for(j=ofy; j<ofy+npy; j+=zmm)
     598      for(i=ofx; i<ofx+npx; i+=zmm) {
     599        *pp = lut->ApplyFast( MeanVal(i*sgnX+offX, (i+zmm-1)*sgnX+offX,
     600                                      j*sgnY+offY, (j+zmm-1)*sgnY+offY) );
     601        pp++;
     602      }
     603    }
     604  else  {      // Agrandissement
     605    for(j=ofy; j<ofy+npy; j++)
     606      for(i=ofx; i<ofx+npx; i++)  {
     607        ucp = (unsigned char) lut->ApplyFast(this->Value(i*sgnX+offX, j*sgnY+offY));
     608        for(l=0; l<zm; l++)  {
     609          pp = pixc.ShortPointer()+((j-ofy)*zm+l)*nppx+((i-ofx)*zm);
     610          for(k=0; k<zm; k++)  { *pp = ucp; pp++; } 
     611          }
     612        }
     613    }
     614  }
     615}  //  ---- Fin pixmap de type Byte
     616
     617return;
    553618}
    554619
  • trunk/SophyaPI/PI/parradapter.h

    r3458 r3519  
    99#include "machdefs.h"
    1010#include "lut.h"
     11#include "pipixutils.h"
    1112
    1213#include <string>
     
    5455  virtual void    DefineXYCoordinates(double x0, double y0, double dx, double dy);
    5556// Doit etre defini par les classes derivees
    56   virtual double  Value(int ix, int iy) = 0;   
     57  virtual double  Value(int ix, int iy) = 0;
     58// Peut etre redefini pour les classes derivees, pour une optimisation par exemple     
     59  virtual double  MeanVal(int ix1, int ix2, int jy1, int jy2);   
    5760
    5861  virtual void    XYfromxy(int ix, int iy, double& x, double& y);
     
    8992
    9093//    Calcul pixmap avec un LUT
    91   virtual unsigned char * ComputePixmap(LUT* lut, int ofx, int ofy, int zm,
    92                            int xwsz, int ywsz, unsigned char * opix,
    93                            int * oxsp, int * oysp);
     94  virtual void ComputePixmap(LUT* lut, int ofx, int ofy, int zm,
     95                             int xwsz, int ywsz, PIPixColIdx & pixc);
    9496
    9597//   Methode de decodage des options - Implementation par defaut ne fait rien
     
    109111};
    110112
     113//  Adaptateur de tableau 1D pour pointeur de type T *
     114
    111115template <class T>
    112116class P1DAdapter : public P1DArrayAdapter {
     
    126130
    127131
     132//  Adaptateur de tableau 2D pour pointeur de type T *
    128133template <class T>
    129134class P2DAdapter : public P2DArrayAdapter {
     
    134139
    135140  virtual         ~P2DAdapter() { if ( (aDel) && (mData) ) delete[] mData; }
    136   virtual double   Value(int ix, int iy)
     141  virtual double  Value(int ix, int iy)
    137142                    {  if ( (ix < 0)  || (iy < 0) || (ix >= sX) || (iy >= sY) ) return(0.);
    138143                    return(mData[ix+iy*sX]); }
     144  virtual double  MeanVal(int ix1, int ix2, int jy1, int jy2) 
     145    {
     146    int ec;
     147    if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; }
     148    if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; }   
     149    double ss = 0.;
     150    for(int j=jy1; j<=jy2; j++)
     151      for(int i=ix1; i<=ix2; i++)  ss += (double)(mData[i+j*sX]);
     152    ss /= (double)((jy2-jy1+1)*(ix2-ix1+1));
     153    return ss; 
     154    }   
     155
    139156protected :
    140157  bool aDel;
     
    142159};
    143160
     161//  Adaptateur de tableau 2D pour tableau RGB
     162
     163class P2DPixRGBAdapter : public P2DArrayAdapter {
     164public :
     165          P2DPixRGBAdapter(PIPixRGBArray * rgbp, bool ad=false) :
     166             P2DArrayAdapter(rgbp->XSize(), rgbp->YSize() )
     167                { aDel = ad; mPix = rgbp; }
     168  virtual ~P2DPixRGBAdapter() { if ( (aDel) && (mPix) ) delete mPix; }
     169
     170  virtual double  Value(int ix, int iy)
     171    { 
     172    if ( (ix < 0)  || (iy < 0) || (ix >= sX) || (iy >= sY) ) return(0.);
     173    PIPixRGB rgb = (*mPix)(ix, iy);
     174    return ( ((double)rgb.blue*256.+(double)rgb.green)*256.+(double)rgb.red );
     175    }
     176  virtual double  MeanVal(int ix1, int ix2, int jy1, int jy2) 
     177    {
     178    int ec;
     179    if (ix1>ix2) { ec=ix1; ix1=ix2; ix2=ec; }
     180    if (jy1>jy2) { ec=jy1; jy1=jy2; jy2=ec; }   
     181    int r = 0;
     182    int g = 0;
     183    int b = 0;
     184    for(int j=jy1; j<=jy2; j++)
     185      for(int i=ix1; i<=ix2; i++)  {
     186        PIPixRGB rgb = (*mPix)(i, j);
     187        r += rgb.red;  g += rgb.green;   b += rgb.blue;
     188      }
     189    int n = (jy2-jy1+1)*(ix2-ix1+1);   
     190    r /= n; g /= n; b /= n;
     191    return ( ((double)b*256.+(double)g)*256.+(double)r ); 
     192    }   
     193                   
     194protected :
     195  bool aDel;
     196  PIPixRGBArray* mPix;
     197};
     198
    144199
    145200
  • trunk/SophyaPI/PI/picmap.cc

    r2615 r3519  
    2424//--
    2525
    26 #define  MXMAPIDS   30
     26#define  MXMAPIDS   33
    2727static   int    MapNCols[MXMAPIDS] = {
    2828  256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
    2929  256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
    30   256, 256, 256, 256, 256, 256, 256, 256, 256, 256  };
     30  256, 256, 256, 256, 256, 256, 256, 256, 256, 256,
     31  216, 512, 4096  };
    3132
    3233// Tables de couleurs :
     
    3738// 1 Standard PI 64 couleurs differentes
    3839// 1 Standard PI 16 couleurs
     40// 1 Standard PI , 216 couleurs RGB (6x6x6)
     41// 1 Standard PI , 512 couleurs RGB (8x8x8)
     42// 1 Standard PI , 4096 couleurs RGB (16x16x16)
    3943
    4044static   const char*  MapNoms[MXMAPIDS]  = {
     
    4751                      "MIDAS_Stairs9","MIDAS_StairCase","MIDAS_Color",
    4852                      "MIDAS_ManyCol","MIDAS_Idl14","MIDAS_Idl15",
    49                       "MultiCol16","MultiCol64"};
     53                      "MultiCol16","MultiCol64","RGB216CM","RGB512CM","RGB4096CM"};
    5054
    5155static   CMapId MapIds[MXMAPIDS] = {
     
    5862                      CMAP_MIDAS_Stairs9, CMAP_MIDAS_StairCase, CMAP_MIDAS_Color,
    5963                      CMAP_MIDAS_ManyCol, CMAP_MIDAS_Idl14, CMAP_MIDAS_Idl15,
    60                       CMAP_COL16, CMAP_COL64 } ;
     64                      CMAP_COL16, CMAP_COL64, CMAP_RGB216, CMAP_RGB512, CMAP_RGB4096, } ;
    6165
    6266static   int mColTNums[8192];   // Max 8192 tables differentes pour le moment 
     
    7074                                  NULL, NULL, NULL, NULL, NULL,
    7175                                  NULL, NULL, NULL, NULL, NULL,
    72                                   NULL, NULL, NULL, NULL, NULL };
     76                                  NULL, NULL, NULL, NULL, NULL,
     77                                  NULL, NULL, NULL,  };
    7378
    7479int  PIColorMap::NumberStandardColorMaps()
     
    122127//|     CMAP_COL64      :  64 Couleurs arcenciel
    123128//|     CMAP_OTHER      :  Table non standard
     129//|     CMAP_RGB216     :  216 couleurs, 6x6x6 couleurs en composantes RGB
     130//|     CMAP_RGB512     :  512 couleurs, 8x8x8 couleurs en composantes RGB
     131//|     CMAP_RGB4096    :  4096 couleurs, 16x16x16 couleurs en composantes RGB
     132
    124133//      Toutes les tables de couleurs standard possèdent 256 cellules de couleurs,
    125 //      contenant 16 ou 32 ou 128 couleurs distinctes.
     134//      contenant 16 ou 32 ou 128 (ou 216) couleurs distinctes, sauf CMAP_RGB512 et CMAP_RGB4096.
    126135//
    127136// PIColorMap(string const& nom, int nCol)
     
    563572      }
    564573      break;
     574
     575    case CMAP_RGB216 :
     576      i = 0;
     577      for(int kb=0; kb<6; kb++) {
     578        mycol.blue = (unsigned short)(kb*65535/5);
     579        for(int jg=0; jg<6; jg++) {
     580          mycol.green = (unsigned short)(jg*65535/5);
     581          for(int ir=0; ir<6; ir++) {
     582            mycol.red = (unsigned short)(ir*65535/5);
     583            AllocColor(mycol, i);   i++;
     584          }
     585        }           
     586      }
     587      mycol.blue = mycol.green =  mycol.red = 65535;
     588      for(i=216; i<256; i++)
     589        AllocColor(mycol, i);
     590      break;
     591
     592    case CMAP_RGB512 :
     593    case CMAP_RGB4096 :
     594      {
     595      int nlev = 8;
     596      if ( mType == CMAP_RGB4096)  nlev = 16;
     597      int drgb = 65535/(nlev-1);
     598      i = 0;
     599      for(int kb=0; kb<8; kb++) {
     600        mycol.blue = (unsigned short)(kb*drgb);
     601        for(int jg=0; jg<8; jg++) {
     602          mycol.green = (unsigned short)(jg*drgb);
     603          for(int ir=0; ir<8; ir++) {
     604            mycol.red = (unsigned short)(ir*drgb);
     605            AllocColor(mycol, i);   i++;
     606          }
     607        }           
     608      }
     609      }
     610      break;
     611
    565612//----------------------------------------------------------
    566613//----------------------------------------------------------
  • trunk/SophyaPI/PI/picmap.h

    r2379 r3519  
    4747
    4848 //  Table simple a 16/64 couleurs
    49  CMAP_COL16       = 998,        // 16 Couleurs arcenciel
    50  CMAP_COL64       = 999         // 64 Couleurs differentes
     49 CMAP_COL16       = 991,        // 16 Couleurs arcenciel
     50 CMAP_COL64       = 992,         // 64 Couleurs differentes
     51 // Table de couleurs RGB 6x6x6=216 couleurs
     52 CMAP_RGB216      = 993,        // 216 couleurs avec toutes les nuances RGB
     53 CMAP_RGB512      = 994,        // 512 couleurs avec toutes les nuances RGB
     54 CMAP_RGB4096     = 995         // 4096 couleurs avec toutes les nuances RGB
    5155 };
    5256
  • trunk/SophyaPI/PI/pigraphgen.h

    r2257 r3519  
    1717
    1818#include "pilineatt.h"  // Class PILineAtt
     19#include "pipixutils.h"  // classes utilitaires pour pixels/RGB ...
    1920
    2021
     
    118119                                     bool fgline=true);
    119120
    120   virtual void       DrawPixmap(PIGrCoord x, PIGrCoord y, unsigned char *pix,
    121                                 int sx, int sy, PIColorMap* cmap)              = 0;
     121  virtual void       DrawPixmap(PIGrCoord x, PIGrCoord y, PIPixColIdx & pix,
     122                                PIColorMap* cmap)                              = 0;
    122123
    123124// Modifications attributs graphiques
  • trunk/SophyaPI/PI/pigraphps.cc

    r2615 r3519  
    324324
    325325/* --Methode-- */
    326 void PIGraphicPS::DrawPixmap(PIGrCoord x, PIGrCoord y, unsigned char *pix,
    327                             int sx, int sy, PIColorMap* cmap)
    328 {
     326void PIGraphicPS::DrawPixmap(PIGrCoord x, PIGrCoord y, PIPixColIdx & pixc, PIColorMap* cmap)
     327{
     328int sx = pixc.XSize();
     329int sy = pixc.YSize();
    329330if ( (sx < 1) || (sy < 1) )  return;
    330 if ((pix == NULL) || (cmap == NULL)) return;
    331 if(mPSOut)
    332   mPSOut->Image((double)x, (double)y, (double)sx, (double)sy, sx, sy, pix, cmap);
     331if (cmap == NULL) return;
     332if(mPSOut) {
     333  if (pixc.BytePointer())
     334    mPSOut->Image((double)x, (double)y, (double)sx, (double)sy, sx, sy, pixc.BytePointer(), cmap);
     335  else if (pixc.ShortPointer())
     336    mPSOut->Image((double)x, (double)y, (double)sx, (double)sy, sx, sy, pixc.ShortPointer(), cmap);
     337}
    333338return;
    334339}
  • trunk/SophyaPI/PI/pigraphps.h

    r2257 r3519  
    3838  virtual void       DrawMarker(PIGrCoord x0, PIGrCoord y0);
    3939  virtual void       DrawMarkers(PIGrCoord *x, PIGrCoord *y, int n);
    40   virtual void       DrawPixmap(PIGrCoord x, PIGrCoord y, unsigned char *pix,
    41                                 int sx, int sy, PIColorMap* cmap);
     40  virtual void       DrawPixmap(PIGrCoord x, PIGrCoord y, PIPixColIdx & pix,  PIColorMap* cmap);
    4241
    4342// Modifications attributs graphiques
  • trunk/SophyaPI/PI/pigraphuc.cc

    r2615 r3519  
    729729
    730730/* --Methode-- */
    731 void PIGraphicUC::DrawPixmap(PIGrCoord x, PIGrCoord y, unsigned char *pix,
    732                         int sx, int sy, PIColorMap* cmap)
    733 {
    734   if (!mGrC) return;
    735   if ( (sx < 1) || (sy < 1) )  return;
    736   if ((pix == NULL) || (cmap == NULL)) return;
     731void PIGraphicUC::DrawPixmap(PIGrCoord x, PIGrCoord y, PIPixColIdx & pix, PIColorMap* cmap)
     732{
     733  if (!mGrC) return;
     734  if ( (pix.XSize() < 1) || (pix.YSize() < 1) )  return;
     735  if (cmap == NULL) return;
    737736  double xf,yf;
    738737  UC2GrC(x, y, xf, yf);
    739   mGrC->DrawPixmap(xf, yf, pix, sx, sy, cmap);
     738  mGrC->DrawPixmap(xf, yf, pix, cmap);
    740739}
    741740
  • trunk/SophyaPI/PI/pigraphuc.h

    r2257 r3519  
    7878                                     bool fgline=true);
    7979
    80   virtual void       DrawPixmap(PIGrCoord x, PIGrCoord y, unsigned char *pix,
    81                                 int sx, int sy, PIColorMap* cmap);
     80  virtual void       DrawPixmap(PIGrCoord x, PIGrCoord y, PIPixColIdx & pix, PIColorMap* cmap);
    8281
    8382// Modifications attributs graphiques
  • trunk/SophyaPI/PI/pigraphx.cc

    r2615 r3519  
    384384
    385385/* --Methode-- */
    386 void PIGraphicX::DrawPixmap(PIGrCoord x, PIGrCoord y, unsigned char *pix,
    387                             int sx, int sy, PIColorMap* cmap)
     386void PIGraphicX::DrawPixmap(PIGrCoord x, PIGrCoord y, PIPixColIdx & pixc, PIColorMap* cmap)
    388387{
    389388Window xw;
     
    395394XImage * ximg;
    396395
    397 if ( (sx < 1) || (sy < 1) )  return;
    398 if ((pix == NULL) || (cmap == NULL)) return;
     396int sx = pixc.XSize();
     397int sy = pixc.YSize();
     398if ((sx==0) || (sx==0) || (cmap == NULL)) return;
    399399
    400400 
     
    406406pad = (depth > 8) ? 32 : 8;
    407407ximg = XCreateImage (mdsp,DefaultVisual(mdsp,scr),
    408                      depth,ZPixmap,0,NULL, sx, sy, pad,0);
     408                     depth,ZPixmap,0,NULL, sx,sy, pad,0);
    409409if (ximg == NULL)  return;
    410410ximg->data = new char [sy*ximg->bytes_per_line];
     
    412412  { XFree(ximg); return; }
    413413
    414 for(j=0; j<sy; j++)
    415   for(i=0; i<sx; i++)
    416     { XPutPixel(ximg, i, j, cmap->Color(*pix) );  pix++; }
     414if (pixc.BytePointer()) {
     415  unsigned char * pix = pixc.BytePointer();
     416  for(j=0; j<sy; j++)
     417    for(i=0; i<sx; i++)
     418      { XPutPixel(ximg, i, j, cmap->Color(*pix) );  pix++; }
     419}
     420else if (pixc.ShortPointer()) {
     421  unsigned short * pix = pixc.ShortPointer();
     422  for(j=0; j<sy; j++)
     423    for(i=0; i<sx; i++)
     424      { XPutPixel(ximg, i, j, cmap->Color(*pix) );  pix++; }
     425}
     426else {
     427  for(j=0; j<sy; j++)
     428    for(i=0; i<sx; i++)  XPutPixel(ximg, i, j, 0 ); 
     429}
    417430
    418431XPutImage(mdsp, xw, DefGC(), ximg, 0, 0, (int)x, (int)y, sx, sy);
  • trunk/SophyaPI/PI/pigraphx.h

    r2257 r3519  
    3838  virtual void       DrawMarker(PIGrCoord x0, PIGrCoord y0);
    3939  virtual void       DrawMarkers(PIGrCoord *x, PIGrCoord *y, int n);
    40   virtual void       DrawPixmap(PIGrCoord x, PIGrCoord y, unsigned char *pix,
    41                                 int sx, int sy, PIColorMap* cmap);
     40  virtual void       DrawPixmap(PIGrCoord x, PIGrCoord y,  PIPixColIdx & pix,  PIColorMap* cmap);
    4241
    4342// Modifications attributs graphiques
  • trunk/SophyaPI/PI/piimage.cc

    r3458 r3519  
    128128cutscw = NULL;
    129129
    130 gpixm = zpixm = pixm = NULL;
    131 xsgpxm = xszpxm = xspxm = 0;
    132 ysgpxm = yszpxm = yspxm = 0;
    133130lut = NULL;
    134131offx = offy = 0;
     
    174171PIImage::~PIImage()
    175172{
    176 if (pixm) delete pixm;
    177 if (zpixm) delete zpixm;
    178173if (zow)
    179174  {
    180   zow->SetPixmap(NULL,0,0);
     175  zow->SetPixmap(NULL);
    181176  zow->EraseWindow();
    182177  }
    183 if (gpixm) delete gpixm;
    184178if (gvw)
    185179  {
    186   gvw->SetPixmap(NULL,0,0);
     180  gvw->SetPixmap(NULL);
    187181  gvw->EraseWindow();
    188182  gvw->SetMsg(0); gvw->SetMsgParent(NULL);
     
    256250xszpav = yszpav = 1;
    257251img = pim;
    258 if (gpixm) delete gpixm;
    259 gpixm = NULL;
    260 xsgpxm = ysgpxm = 0;
     252gpixm.DeAlloc();
    261253zmgv = 1;
    262254
     
    641633      else if (opts.substr(4,4) == "sqrt")  typlut=kLutType_Sqrt;
    642634      else if (opts.substr(4,6) == "square")  typlut=kLutType_Square;
     635      else if (opts.substr(4,6) == "rgb")  typlut=kLutType_RGB;
    643636      SetLut(AutoLut_No, min, max, typlut, 0, false);
    644637      continue;
     
    672665  }
    673666  // Set color map if requested
    674   if(fgcmapid || revcmapid) SetColMapId(cmapid,revcmapid,false);
     667  if(fgcmapid || revcmapid)
     668    SetColMapId(cmapid,revcmapid,false); 
     669
    675670  // Configure axes if requested
    676671  if (confaxes) ChangeAxesConfiguration(invx, invy, exchxy, false);
     
    691686      SetLut(t_al, min_al, max_al, Lut()->Type(), ns_al, false);
    692687  }
     688
    693689  return(ndec+ndec2);
    694690}
     
    728724     (cmapid == CMAP_GREY128) || (cmapid == CMAP_GREYINV128))  mdrw->GetGraphicAtt().SetColAtt(PI_Red);
    729725else mdrw->GetGraphicAtt().SetColAtt(PI_Turquoise);
     726if (lut) lut->SetNCol(cmp->NCol());
    730727PIPixmap::SetColMap(cmp, refr);
    731728if (refr) { xcurs =  ycurs = -1; }
     
    742739     (cmapid == CMAP_GREY128) || (cmapid == CMAP_GREYINV128))  mdrw->GetGraphicAtt().SetColAtt(PI_Red);
    743740else mdrw->GetGraphicAtt().SetColAtt(PI_Turquoise);
    744 PIPixmap::SetColMapId(cmapid, revidx, refr);
     741PIPixmap::SetColMapId(cmapid, revidx, false);
     742if (lut) lut->SetNCol(GetColMap()->NCol());
     743if (refr) Refresh();
    745744if (zow)  zow->SetColMapId(cmapid, revidx, refr);
    746745if (gvw)  gvw->SetColMapId(cmapid, revidx, refr);
     
    11111110ywsz = YSize();
    11121111
    1113 pixm = img->ComputePixmap(lut, offx, offy, zoom, xwsz, ywsz, pixm, &xspxm, &yspxm);
     1112img->ComputePixmap(lut, offx, offy, zoom, xwsz, ywsz, pixm);
    11141113int xw1, yw1, xw2, yw2;
    1115 xw1 = (xwsz-xspxm)/2;
     1114xw1 = (xwsz-pixm.XSize())/2;
    11161115if (xw1 < 0) xw1 = 0;
    1117 yw1 = (ywsz-yspxm)/2;
     1116yw1 = (ywsz-pixm.YSize())/2;
    11181117if (yw1 < 0) yw1 = 0;
    1119 xw2 = xspxm+xw1;
    1120 yw2 = yspxm+yw1;
     1118xw2 = pixm.XSize()+xw1;
     1119yw2 = pixm.YSize()+yw1;
    11211120SetDefaultDrawRectangle(xw1, yw1, xw2, yw2, false);
    1122 // printf("--DBG-- ComputePixmap() %d %d $ %d %d :: %d %d , %d %d \n", xwsz, ywsz, xspxm, yspxm, xw1, yw1, xw2, yw2);
     1121// printf("--DBG-- ComputePixmap() %d %d $ %d %d :: %d %d , %d %d \n", xwsz, ywsz, pixm.XSize(), pixm.YSize(), xw1, yw1, xw2, yw2);
    11231122int x1,y1, x2,y2;
    11241123ofx = xw1;  ofy = yw1;
     
    11311130// printf("--DBG2-- ComputePixmap() %g %g  %g %g  \n", fx1, fx2, fy1, fy2);
    11321131xcurs = ycurs = -1;
    1133 SetPixmap(pixm, xspxm, yspxm, true, xw1, yw1);
     1132SetPixmap(&pixm, true, xw1, yw1);
    11341133// Refresh();
    11351134return;
     
    11741173if (lofy < 0)  lofy = 0;
    11751174
    1176 zpixm = img->ComputePixmap(lut, lofx, lofy, zm, xwsz, ywsz, zpixm, &xszpxm, &yszpxm);
     1175img->ComputePixmap(lut, lofx, lofy, zm, xwsz, ywsz, zpixm);
    11771176zow->SetColMap(cmap, false);
    1178 zow->SetPixmap(zpixm, xszpxm, yszpxm);
     1177zow->SetPixmap(&zpixm);
    11791178zow->SetUserData((void *)this, 0);
    11801179// zow->Refresh();
     
    12031202zmgv = zmx;
    12041203if (zmx > 1)  zmx = -zmx;
    1205 gpixm = img->ComputePixmap(lut, 0, 0, zmx, xwsz, ywsz, gpixm, &xsgpxm, &ysgpxm);
    1206 // printf("DEBUG-ComputeGloVPixmap()  %d-%d , (%d,%d) , %d-%d \n", xwsz, ywsz, zmx, zmy, xsgpxm, ysgpxm);
     1204img->ComputePixmap(lut, 0, 0, zmx, xwsz, ywsz, gpixm);
     1205// printf("DEBUG-ComputeGloVPixmap()  %d-%d , (%d,%d) , %d-%d \n", xwsz, ywsz, zmx, zmy, gpixm.XSize(), gpixm.YSize());
    12071206return;
    12081207}
     
    12151214
    12161215int xw1, yw1, xw2, yw2;
    1217 xw1 = (gvw->XSize()-xsgpxm)/2;
     1216xw1 = (gvw->XSize()-gpixm.XSize())/2;
    12181217if (xw1 < 0) xw1 = 0;
    1219 yw1 = (gvw->YSize()-ysgpxm)/2;
     1218yw1 = (gvw->YSize()-gpixm.YSize())/2;
    12201219if (yw1 < 0) yw1 = 0;
    1221 xw2 = xsgpxm+xw1;
    1222 yw2 = ysgpxm+yw1;
     1220xw2 = gpixm.XSize()+xw1;
     1221yw2 = gpixm.YSize()+yw1;
    12231222
    12241223if (zoom > 0) zm = zmgv*zoom;
     
    12421241gvw->AddDrawer(gvdrw, xw1, yw1, xw2, yw2, false);
    12431242gvw->SetColMap(cmap, false);
    1244 gvw->SetPixmap(gpixm, xsgpxm, ysgpxm, true, xw1, yw1);
     1243gvw->SetPixmap(&gpixm, true, xw1, yw1);
    12451244gvw->SetUserData((void *)this, 0);
    12461245gvw->SetMsg(Msg()+626);
  • trunk/SophyaPI/PI/piimage.h

    r3455 r3519  
    154154  bool winovis;   // $CHECK$ Reza A enlever si possible 17/6/96
    155155// Tableau des pixels principal 
    156   unsigned char * pixm;
    157   int xspxm, yspxm;
     156  PIPixColIdx pixm;
    158157  LUT * lut;
    159158  AutoLutType t_al;   // Si AutoLut et le type lors du dernier appel a SetLut()
     
    164163  int zoom;
    165164  PIPixmap * zow;
    166   unsigned char * zpixm;
    167   int xszpxm, yszpxm;
    168 // Fenetre pour l'image entiere 
     165  PIPixColIdx zpixm;
     166// Fenetre pour vue globale de l'image   
    169167  int zmgv;
    170168  PIPixmap * gvw;
    171   unsigned char * gpixm;
    172   int xsgpxm, ysgpxm;
     169  PIPixColIdx gpixm;
    173170  PIElDrawer* gvdrw;
    174171// Fenetre d'affichage du ColMap
  • trunk/SophyaPI/PI/piimgtools.cc

    r3460 r3519  
    102102mOpt[0]->AppendItem("Sqrt", 1102);
    103103mOpt[0]->AppendItem("Square", 1103);
     104mOpt[0]->AppendItem("RGB", 1104);
    104105mOpt[0]->SetValue(1100);
    105106mOpt[0]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic);
     
    190191mOptzc[0]->AppendPDMenu(mCasc[1]);
    191192//  Apres les tables importees de MIDAS
    192 nsct4 = PIColorMap::NumberStandardColorMaps()-2; // Les reste jusqu'a l'avant derniere
     193nsct4 = PIColorMap::NumberStandardColorMaps()-5; // Les reste jusqu'a l'avant derniere
    193194for(kcc=nsct3; kcc<nsct4; kcc++)
    194195  mCasc[2]->AppendItem(PIColorMap::GetStandardColorMapName(kcc).c_str(), 201+kcc);
    195196mOptzc[0]->AppendPDMenu(mCasc[2]);
    196 // Les tables qui restent ( Col16 , ... )
     197// Les tables qui restent ( RGB218, Col16 , ... )
    197198for(kcc=nsct4; kcc<PIColorMap::NumberStandardColorMaps(); kcc++)
    198 mOptzc[0]->AppendItem(PIColorMap::GetStandardColorMapName(kcc).c_str(), 201+kcc);
     199  mOptzc[0]->AppendItem(PIColorMap::GetStandardColorMapName(kcc).c_str(), 201+kcc);
    199200// On ajoute un CheckItem pour inverser les index de table de couleur
    200201mOptzc[0]->Menu()->AppendSeparator();
     
    373374  else if( (mpii->Lut())->Type() == kLutType_Sqrt )   mOpt[0]->SetValue(1102);
    374375  else if( (mpii->Lut())->Type() == kLutType_Square ) mOpt[0]->SetValue(1103);
     376  else if( (mpii->Lut())->Type() == kLutType_RGB )    mOpt[0]->SetValue(1104);
    375377  else                                                mOpt[0]->SetValue(1100);
    376378}
     
    388390double min, max, del;
    389391int lauto, typ;
    390 int typlut[4] = {kLutType_Lin, kLutType_Log, kLutType_Sqrt, kLutType_Square} ;
     392int typlut[5] = {kLutType_Lin, kLutType_Log, kLutType_Sqrt, kLutType_Square, kLutType_RGB } ;
    391393AutoLutType alts[13] = { AutoLut_No,
    392394                         AutoLut_MeanSigma, AutoLut_MeanSigma, AutoLut_MeanSigma,
  • trunk/SophyaPI/PI/pipixmapgen.cc

    r2615 r3519  
    88#include "sopnamsp.h"
    99#include "pipixmapgen.h"
     10
    1011
    1112// --------- Methodes de la classe PIPixMap  ----------
     
    4344// long  kind()
    4445//      Retourne le type ("=PIPixmap::ClassId")
    45 // void  SetPixmap(unsigned char *pix, int sx, int sy, bool refr=true, int ox=0, int oy=0)
    46 //      Associe un tableau d'index "pix" de taille "sx * sy".
    47 //      (ox,oy)" définissent  l'offset d'affichage.
     46// void  SetPixmap(PIPixColIdx *pixidx, int sx, int sy, bool refr=true, int ox=0, int oy=0)
     47//      Associe un tableau d'index de couleur "pixidx". (ox,oy)" définissent  l'offset d'affichage.
    4848//      Si "refr=true", la méthode "Refresh()" est appelée.
    4949//--
     
    8787{
    8888pixmap = NULL;
    89 nx = ny = 0;
     89fgownpmap = false;
    9090ofx = ofy = 0;
    9191mPpos[0] = mPpos[0] = 0;
     
    9999{
    100100delete cmap;
     101if (fgownpmap && pixmap) delete pixmap;
    101102}
    102103
    103104/* --Methode-- */
    104 void PIPixmapGen::SetPixmap(unsigned char *pix, int sx, int sy, bool refr, int ox, int oy)
     105void PIPixmapGen::SetPixmap(PIPixColIdx *pixidx, bool refr, int ox, int oy)
    105106{
    106 pixmap = pix;
    107 if (pixmap)
    108   {
    109   if (sx < 0)  sx = 0;
    110   if (sy < 0)  sy = 0;
    111   if (ox < 0)  ox = 0;
    112   if (oy < 0)  oy = 0;
    113   nx = sx; ny = sy;
    114   ofx = ox;  ofy = oy;
     107if (fgownpmap && pixmap) delete pixmap;
     108fgownpmap = false;
     109pixmap = pixidx;
     110if (ox < 0)  ox = 0;
     111if (oy < 0)  oy = 0;
     112ofx = ox;  ofy = oy;
     113if (refr) Refresh();   
     114}
     115
     116/* --Methode-- */
     117void PIPixmapGen::SetRGBArray(PIPixRGBArray *rgba, CMapId cmapid, bool refr, int ox, int oy)
     118{
     119if (rgba == NULL) return;
     120int quantum = 8;
     121if (cmapid == CMAP_RGB216)  quantum = 6;
     122else if (cmapid == CMAP_RGB4096) quantum = 16;
     123else cmapid = CMAP_RGB512;
     124SetColMapId(cmapid, false);
     125PIPixColIdx * pixc = new PIPixColIdx;
     126pixc->AllocateByte(rgba->XSize(), rgba->YSize());
     127for(int j=0; j<rgba->YSize(); j++)
     128  for(int i=0; i<rgba->XSize(); i++) {
     129        PIPixRGB vv = (*rgba)(i,j);
     130        int r = (int)vv.red*quantum/256;
     131        int g = (int)vv.green*quantum/256;
     132        int b = (int)vv.blue*quantum/256;
     133    pixc->GetShort(i,j) = (unsigned short)((b*quantum+g)*quantum+r);
    115134  }
    116 else { ofx = ofy = nx = ny = 0; }
    117 if (refr) Refresh();   
     135SetPixmap(pixc, refr, ox, oy);
     136fgownpmap = true;
     137return; 
    118138}
    119139
  • trunk/SophyaPI/PI/pipixmapgen.h

    r1503 r3519  
    99#include PICMAP_H
    1010
     11#include "pipixutils.h"
     12
    1113#include <list>
     14
    1215
    1316class PIPixmapGen : public PIBaseWdg
     
    2225  virtual long  kind() {return ClassId; }
    2326
    24   virtual void  SetPixmap(unsigned char *pix, int sx, int sy,
    25                           bool refr=true, int ox=0, int oy=0);
     27  virtual void  SetPixmap(PIPixColIdx *pixidx, bool refr=true, int ox=0, int oy=0);
     28  virtual void  SetRGBArray(PIPixRGBArray *rgba, CMapId cmapid=CMAP_RGB512,
     29                            bool refr=true, int ox=0, int oy=0);
    2630
    2731  virtual void  SetColMap(PIColorMap* cmp, bool refr=true);
     
    3943
    4044protected:
    41   unsigned char *pixmap;
    42   int nx, ny;
    43   int ofx, ofy;
     45  PIPixColIdx *pixmap;   // Pointeur d'objet PIPixCoIdx, tableau d'index de couleurs, peut etre NULL
     46  bool fgownpmap;  // si true -> possede le pixmap et doit le deleter si besoin
     47  int ofx, ofy;       // Offset d'affichage
    4448  PIColorMap* cmap;
    4549
  • trunk/SophyaPI/PI/pipixmapx.cc

    r2615 r3519  
    77#include "sopnamsp.h"
    88#include "pipixmapx.h"
     9#include <iostream>
     10using namespace std;
    911
    1012static  GC    mygc;
     
    3133{
    3234int i,j;
    33 unsigned char *pp;
    34 
    35 if (pixmap)
    36   {
    37   for(j=0; j<ny; j++)
    38     {
    39     pp = pixmap+j*nx;
    40     for(i=0; i<nx; i++)
    41       { XPutPixel(myximg, i, j, cmap->Color(*pp) );  pp++; }
     35int nx = 0;
     36int ny = 0;
     37if (pixmap!=NULL) {
     38  nx = pixmap->XSize();
     39  if (nx > XSize())  nx = XSize();
     40  ny = pixmap->YSize();
     41  if (ny > YSize())  ny = YSize();
     42  if (pixmap->BytePointer()!=NULL) {
     43    unsigned char *pp = pixmap->BytePointer();
     44    for(j=0; j<ny; j++) {
     45      pp = pixmap->BytePointer()+j*pixmap->XSize();
     46      for(i=0; i<nx; i++)
     47        { XPutPixel(myximg, i, j, cmap->Color(*pp) );  pp++; }
     48      }
     49  }
     50  else if (pixmap->ShortPointer()!=NULL) {
     51    unsigned short *pp = pixmap->ShortPointer();
     52    for(j=0; j<ny; j++) {
     53      pp = pixmap->ShortPointer()+j*pixmap->XSize();
     54      for(i=0; i<nx; i++) 
     55        { XPutPixel(myximg, i, j, cmap->Color(*pp) );  pp++; }
    4256    }
    4357  }
    44 
     58}
     59/* ----- On peut laisser le reste - ce n'est pas utilise dans le Draw
     60// On remplit le restant
     61for(j=0; j<YSize(); j++)
     62  for(i=nx; i<XSize(); i++)
     63       XPutPixel(myximg, i, j, 0 );
    4564for(j=ny; j<YSize(); j++)
    46   for(i=nx; i<XSize(); i++)
     65  for(i=0; i<XSize(); i++)
    4766     XPutPixel(myximg, i, j, 0 );
    48 
     67------- */
    4968PIBaseWdgX::Refresh();
    5069}
     
    6685if (!g) return;
    6786if (g->kind() == PI_PSFileGraphics ) {
    68     g->DrawPixmap(ofx, ofy, pixmap, nx, ny, cmap);
     87    g->DrawPixmap(ofx, ofy, pixmap, cmap);
    6988    //  Il faut faire quelque chose Sinon ??!
    7089  }
     
    7897
    7998if (!g) return;
    80 if ((myximg == NULL) || (cmap == NULL)) return;
    8199
    82100if (g->kind() == PI_PSFileGraphics ) {
    83   if (pixmap) g->DrawPixmap(ofx, ofy, pixmap, nx, ny, cmap);
     101  g->DrawPixmap(ofx, ofy, (*pixmap), cmap);
    84102  return;
    85103  }
     104 
    86105
    87106Window xw = XtWindow(XtWdg());
    88107Display * mdsp = PIXDisplay();
    89108
     109if ((myximg == NULL) || (cmap == NULL) || (pixmap == NULL) ||
     110    (pixmap->XSize()<=0) || (pixmap->YSize()<=0) ) {
     111  XClearArea(mdsp, xw, x0, y0, dx, dy, False);  return;
     112}
     113
    90114int mx, my, ox, oy;
    91115
    92116if (x0 < 0)  x0 = 0;
    93117if (y0 < 0)  y0 = 0;
    94 mx = nx+ofx;   my = ny+ofy;
     118
     119mx = pixmap->XSize()+ofx;   my = pixmap->YSize()+ofy;
     120
    95121if (dx > (XSize()-x0)) dx = XSize()-x0;
    96122if (dy > (YSize()-y0)) dy = YSize()-y0;
     
    101127
    102128ox = oy = 0; 
    103 
    104129if (ofx > x0)
    105130  { XClearArea(mdsp, xw, x0, y0, ofx-x0, dy, False);   
     
    115140if (my < (y0+dy))
    116141  { XClearArea(mdsp, xw, x0, my, dx, y0+dy-my, False);  dy = my-y0; }
     142
     143/*
     144if (ofx > x0)
     145  XClearArea(mdsp, xw, x0, y0, ofx-x0, dy, False);   
     146if (ofy > y0)
     147  XClearArea(mdsp, xw, x0, y0, dx, ofy-y0, False); 
    117148 
     149if (mx < (x0+dx))
     150  XClearArea(mdsp, xw, mx, y0, x0+dx-mx, dy, False);
     151if (my < (y0+dy))
     152  XClearArea(mdsp, xw, x0, my, dx, y0+dy-my, False); 
     153
     154if (ofx > x0)
     155  { dx -= (ofx-x0);  x0 = ofx;  ox = 0; }
     156else  ox = x0-ofx;
     157if (ofy > y0)
     158  { dy -= (ofy-y0);  y0 = ofy;  oy = 0; }
     159else  oy = y0-ofy;
     160if (mx < (x0+dx))  dx = mx-x0;
     161if (my < (y0+dy))  dy = my-y0;
     162*/
     163 
    118164XPutImage(mdsp, xw, mygc, myximg, ox, oy, x0, y0, dx, dy);
    119165XFlush(mdsp);
  • trunk/SophyaPI/PI/psfile.cc

    r2615 r3519  
    13671367    for(i = 0; i < Ny; i++) {
    13681368        for(j = 0; j<Nx-1; j++ )
    1369             fprintf(mPSFile, "%02X", Pict[i*Nx+j]);
    1370     fprintf(mPSFile, "%02X\n", Pict[i*Nx+j]);
     1369            fprintf(mPSFile, "%02X", (int)Pict[i*Nx+j]);
     1370    fprintf(mPSFile, "%02X\n", (int)Pict[i*Nx+j]);
     1371    }
     1372    /* Un petit grestore ...*/
     1373    fprintf(mPSFile, "gr\n");
     1374}
     1375
     1376void PSFile::Image(double x0, double y0, double Tx, double Ty,
     1377                   int Nx, int Ny,
     1378                   unsigned short *Pict,
     1379                   PIColorMap *mMap) {
     1380
     1381    int i, j;
     1382
     1383    /* Buffers PostScript */
     1384    fprintf(mPSFile, "/Taille %d def\n", Nx);
     1385    fprintf(mPSFile, "/ImStr Taille string def\n");
     1386    fprintf(mPSFile, "/RGBStr Taille 3  mul string def\n");
     1387
     1388    /* Ecriture ColorMap */
     1389    fprintf(mPSFile, "/ColorMap %05d array def\n", mMap->NCol() );
     1390    for(i = 0; i < mMap->NCol(); i++) {
     1391        fprintf(mPSFile, "ColorMap %d [16#%02X 16#%02X 16#%02X] put\n",
     1392                i,
     1393                (int)(mMap->GetColor(i).red/256),
     1394                (int)(mMap->GetColor(i).green/256),
     1395                (int)(mMap->GetColor(i).blue/256));
     1396    }
     1397    /* Emplacement de l'image */
     1398    fprintf(mPSFile, "gs %.2f Ux %.2f Uy tr %.2f Ux %.2f Uy sc\n", x0, y0, Tx, Ty);
     1399    /* Nbr pix-X, Nbr pix-Y bits/pixels */
     1400    fprintf(mPSFile, "%d %d 16\n", Nx, Ny);
     1401    /* Matrice de passage */
     1402    fprintf(mPSFile, "[%d 0 0 %d 0 0]", Nx, Ny);
     1403    /* Fonction colorimage */
     1404    fprintf(mPSFile, "{currentfile ImStr readhexstring pop GetRGB}\
     1405false 3 colorimage\n\n");
     1406    /* Data */
     1407    for(i = 0; i < Ny; i++) {
     1408        for(j = 0; j<Nx-1; j++ )
     1409            fprintf(mPSFile, "%04X", (int)Pict[i*Nx+j]);
     1410    fprintf(mPSFile, "%04X\n", (int)Pict[i*Nx+j]);
    13711411    }
    13721412    /* Un petit grestore ...*/
  • trunk/SophyaPI/PI/psfile.h

    r2257 r3519  
    165165                        unsigned char *pict,
    166166                        PIColorMap *mColorMap);
     167    virtual void  Image(double x0, double y0, double Tx, double Ty,
     168                        int Nx, int Ny,
     169                        unsigned short *pict,
     170                        PIColorMap *mColorMap);
    167171
    168172// Declarations en public - sinon certains compilateurs cxx , aCC, xlC ont des problemes
Note: See TracChangeset for help on using the changeset viewer.