[PD-cvs] SF.net SVN: pure-data: [9889] trunk/externals/pdvjtools/pix_preview/ pix_preview.cpp
lluisbigorda at users.sourceforge.net
lluisbigorda at users.sourceforge.net
Sat May 24 02:42:12 CEST 2008
Revision: 9889
http://pure-data.svn.sourceforge.net/pure-data/?rev=9889&view=rev
Author: lluisbigorda
Date: 2008-05-23 17:42:12 -0700 (Fri, 23 May 2008)
Log Message:
-----------
now the inlet is well putted in the top-left corner of the image
back to the file version instead to the data one
Modified Paths:
--------------
trunk/externals/pdvjtools/pix_preview/pix_preview.cpp
Modified: trunk/externals/pdvjtools/pix_preview/pix_preview.cpp
===================================================================
--- trunk/externals/pdvjtools/pix_preview/pix_preview.cpp 2008-05-24 00:40:51 UTC (rev 9888)
+++ trunk/externals/pdvjtools/pix_preview/pix_preview.cpp 2008-05-24 00:42:12 UTC (rev 9889)
@@ -279,7 +279,7 @@
unsigned char *data, *line;
stringstream sx,sy;
- //fprintf (stderr,"%d %d %d %d %d %d",xsize, ysize,m_xsize, m_ysize,oldimagex,oldimagey);
+ fprintf (stderr,"%d %d %d %d %d %d \n",xsize, ysize,m_xsize, m_ysize,oldimagex,oldimagey);
std::string pnm;
std::string pnm64;
@@ -293,9 +293,10 @@
//fprintf (stderr,"%s",pnm.c_str());
- /*/escriu el contingut de data a un arxiu.
- FILE * fp = fopen("/tmp/pixdump01.pnm", "w");
- fprintf (fp, "P6\n%d %d\n255\n", m_xsize, m_ysize);*/
+ /*/escriu el contingut de data a un arxiu.*/
+ char* ig_path = "/tmp/pixdump01.pnm";
+ FILE * fp = fopen(ig_path, "w");
+ fprintf (fp, "P6\n%d %d\n255\n", m_xsize, m_ysize);
data = line = m_data;
switch(m_csize){
case 4:
@@ -329,12 +330,15 @@
int r, g, b, a;
r = (int)data[chRed];
pnm += (char)r;
+ fprintf (fp, "%c", (char)r);
i++;
g = (int)data[chGreen];
pnm += (char)g;
+ fprintf (fp, "%c", (char)g);
i++;
b = (int)data[chBlue];
pnm += (char)b;
+ fprintf (fp, "%c", (char)b);
i++;
a = (int)data[chAlpha];
i++;
@@ -346,17 +350,25 @@
line = m_data + (int)(m_ystep*n);
data = line;
}
+ fclose (fp);
+
//std::cout << "NOT encoded: " << pnm << std::endl;
- pnm64 = base64_encode(reinterpret_cast<const unsigned char*>(pnm.c_str()), pnm.length());
+ //pnm64 = base64_encode(reinterpret_cast<const unsigned char*>(pnm.c_str()), pnm.length());
//std::cout << "encoded: " << pnm64 << std::endl;
//m_glist = (t_glist *) canvas_getcurrent();
+
- sys_vgui("img%x put {%s}\n", this->x_obj, reinterpret_cast<const unsigned char*>(pnm64.c_str()) );
+ //sys_vgui("img%x put {%s}\n", this->x_obj, reinterpret_cast<const unsigned char*>(pnm64.c_str()) );
+ image_drawme((pix_preview *)this->x_obj, (t_glist *) this->getCanvas(), 0, m_xsize, m_ysize);
+// sys_vgui(".x%x.c coords %xS %d %d\n",
+// this->getCanvas(), this->x_obj,
+// text_xpix(this->x_obj, (t_glist *)this->getCanvas()) + (m_xsize/2), text_ypix(this->x_obj, (t_glist *)this->getCanvas()) + (m_ysize/2));
+ //fprintf (stderr, "%x %x - %d %d\n",x,(t_object*)x, text_xpix((t_object*)x, glist), text_ypix((t_object*)x, glist));
break;
case 2:
@@ -419,8 +431,9 @@
-void pix_preview :: image_drawme(pix_preview *x, t_glist *glist, int firsttime)
+void pix_preview :: image_drawme(pix_preview *x, t_glist *glist, int firsttime, int m_xsize, int m_ysize)
{
+ char* ig_path = "/tmp/pixdump01.pnm";
if (firsttime) {
sys_vgui("image create photo img%x -data {%s}\n",x,fdata);
@@ -429,10 +442,15 @@
//fprintf (stderr, "%x %x - %d %d \n",x,(t_object*)x, text_xpix((t_object*)x, glist), text_ypix((t_object*)x, glist));
}
else {
- sys_vgui(".x%x.c coords %xS \
+ sys_vgui(".x%x.c delete %xS\n", glist_getcanvas(glist), x);
+ sys_vgui(".x%x.c delete img%x\n", glist_getcanvas(glist), x);
+ sys_vgui("image create photo img%x -file %s\n",x,ig_path);
+ sys_vgui(".x%x.c create image %d %d -image img%x -tags %xS\n",
+ glist_getcanvas(glist),text_xpix((t_object*)x, glist)+(m_xsize/2), text_ypix((t_object*)x, glist)+(m_ysize/2),x,x);
+ //sys_vgui(".x%x.c coords %xS \
%d %d\n",
- glist_getcanvas(glist), x,
- text_xpix((t_object*)x, glist), text_ypix((t_object*)x, glist));
+ // glist_getcanvas(glist), x,
+ // text_xpix((t_object*)x, glist), text_ypix((t_object*)x, glist));
//fprintf (stderr, "%x %x - %d %d\n",x,(t_object*)x, text_xpix((t_object*)x, glist), text_ypix((t_object*)x, glist));
}
@@ -476,7 +494,7 @@
text_xpix(x, glist), text_ypix(x, glist),
text_xpix(x, glist) + 25, text_ypix(x, glist) + 25);
- image_drawme((pix_preview *)x, glist, 0);
+ //image_drawme((pix_preview *)x, glist, 0);
canvas_fixlinesfor(glist_getcanvas(glist),(t_text*) x);
}
@@ -515,6 +533,6 @@
{
pix_preview* s = (pix_preview*)z;
if (vis)
- image_drawme(s, glist, 1);
+ image_drawme(s, glist, 1, 28, 28);
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Pd-cvs
mailing list