Author: jghali
Date: Fri Nov 23 00:21:59 2018
New Revision: 22775

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22775
Log:
#15485: add getImageColorSpace python function <dockattt>

Modified:
    trunk/Scribus/doc/en/scripterapi-constants.html
    trunk/Scribus/doc/en/scripterapi-getobjprop.html
    trunk/Scribus/doc/fr/scripterapi-constants.html
    trunk/Scribus/doc/fr/scripterapi-getobjprop.html
    trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.cpp
    trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.h
    trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp

Modified: trunk/Scribus/doc/en/scripterapi-constants.html
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22775&path=/trunk/Scribus/doc/en/scripterapi-constants.html
==============================================================================
--- trunk/Scribus/doc/en/scripterapi-constants.html     (original)
+++ trunk/Scribus/doc/en/scripterapi-constants.html     Fri Nov 23 00:21:59 2018
@@ -254,6 +254,18 @@
 </dl>
 </td></tr></table>
 
+<h4>Colorspace Definitions: </h4>
+<table><tr><td>
+<dl>
+       <dt>CSPACE_UNDEFINED</dt>
+       <dt>CSPACE_RGB</dt>
+       <dt>CSPACE_CMYK</dt>
+       <dt>CSPACE_GRAY</dt>
+       <dt>CSPACE_DUOTONE</dt>
+       <dt>CSPACE_MONOCHROME</dt>
+</dl>
+</td></tr></table>
+
 <h4>Fill related Definitions: </h4>
 <table><tr><td>
 <dl>

Modified: trunk/Scribus/doc/en/scripterapi-getobjprop.html
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22775&path=/trunk/Scribus/doc/en/scripterapi-getobjprop.html
==============================================================================
--- trunk/Scribus/doc/en/scripterapi-getobjprop.html    (original)
+++ trunk/Scribus/doc/en/scripterapi-getobjprop.html    Fri Nov 23 00:21:59 2018
@@ -38,6 +38,20 @@
 <dt><a 
name="-getFillTransparency"><strong>getFillTransparency</strong>(...)</a></dt>
 <dd><code>getFillTransparency(["name"]) -&gt; float</code>
 <p>Returns the fill transparency of the object "name". If "name" is not given 
the currently selected Item is used.</p></dd>
+
+<dt><a 
name="-getImageColorSpace"><strong>getImageColorSpace</strong></a>(...)</dt>
+<dd><code>getImageColorSpace(["name"]) -&gt; integer (see CSPACE_* 
constants)</code>
+<p>Returns the color space of the image loaded in image frame "name" as one of 
following integer constants:
+       <ul>
+               <li>CSPACE_RGB</li>
+               <li>CSPACE_CMYK</li>
+               <li>CSPACE_GRAY</li>
+               <li>CSPACE_DUOTONE</li>
+               <li>CSPACE_MONOCHROME.</li>
+       </ul>
+</p>
+<p>Returns CSPACE_UNDEFINED if there is no image loaded in the frame.</p>
+<p>If "name" is not given the currently selected item is used.</p></dd>
 
 <dt><a name="-getImageFile"><strong>getImageFile</strong></a>(...)</dt>
 <dd><code>getImageFile(["name"]) -&gt; string</code>

Modified: trunk/Scribus/doc/fr/scripterapi-constants.html
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22775&path=/trunk/Scribus/doc/fr/scripterapi-constants.html
==============================================================================
--- trunk/Scribus/doc/fr/scripterapi-constants.html     (original)
+++ trunk/Scribus/doc/fr/scripterapi-constants.html     Fri Nov 23 00:21:59 2018
@@ -254,6 +254,18 @@
 </dl>
 </td></tr></table>
 
+<h4>D&eacute;finitions d'espaces de couleur: </h4>
+<table><tr><td>
+<dl>
+       <dt>CSPACE_UNDEFINED</dt>
+       <dt>CSPACE_RGB</dt>
+       <dt>CSPACE_CMYK</dt>
+       <dt>CSPACE_GRAY</dt>
+       <dt>CSPACE_DUOTONE</dt>
+       <dt>CSPACE_MONOCHROME</dt>
+</dl>
+</td></tr></table>
+
 <h4>R&eacute;glages relatifs au fond :</h4>
 <table><tr><td>
 <dl>

Modified: trunk/Scribus/doc/fr/scripterapi-getobjprop.html
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22775&path=/trunk/Scribus/doc/fr/scripterapi-getobjprop.html
==============================================================================
--- trunk/Scribus/doc/fr/scripterapi-getobjprop.html    (original)
+++ trunk/Scribus/doc/fr/scripterapi-getobjprop.html    Fri Nov 23 00:21:59 2018
@@ -35,6 +35,20 @@
 <dt><a 
name="-getFillTransparency"><strong>getFillTransparency</strong>(...)</a></dt>
 <dd><code>getFillTransparency(["nom"]) -&gt; nombre r&eacute;el</code>
 <p>Retourne l'opacit&eacute; appliqu&eacute;e &agrave; la couleur de fond de 
l'objet "nom". Si "nom" n'est pas fourni, l'&eacute;l&eacute;ment 
s&eacute;lectionn&eacute; est utilis&eacute;.</p></dd>
+
+<dt><a 
name="-getImageColorSpace"><strong>getImageColorSpace</strong></a>(...)</dt>
+<dd><code>getImageColorSpace(["nom"]) -&gt; entier (voir constantes 
CSPACE_*)</code>
+<p>Retourne l'espace de couleur de l'image charg&eacute;e dans le cadre 
d'image "nom" sous forme d'une constante enti&egrave;re :
+       <ul>
+               <li>CSPACE_RGB</li>
+               <li>CSPACE_CMYK</li>
+               <li>CSPACE_GRAY</li>
+               <li>CSPACE_DUOTONE</li>
+               <li>CSPACE_MONOCHROME.</li>
+       </ul>
+</p>
+<p>Retourne CSPACE_UNDEFINED si aucune image n'est charg&eacute;e dans le 
cadre d'image concern&eacute;.</p>
+<p>Si "nom" n'est pas fourni, l'&eacute;l&eacute;ment 
s&eacute;lectionn&eacute; est utilis&eacute;.</p></dd>
 
 <dt><a name="-getImageFile"><strong>getImageFile</strong></a>(...)</dt>
 <dd><code>getImageName(["nom"]) -&gt; cha&icirc;ne</code>

Modified: trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22775&path=/trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.cpp   (original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.cpp   Fri Nov 23 
00:21:59 2018
@@ -393,6 +393,39 @@
        return lst;
 }
 
+PyObject *scribus_getimagecolorspace(PyObject* /* self */, PyObject* args)
+{
+       char *Name = const_cast<char*>("");
+       if (!PyArg_ParseTuple(args, "|es", "utf-8", &Name))
+               return nullptr;
+       if (!checkHaveDocument())
+               return nullptr;
+       PageItem *item = GetUniqueItem(QString::fromUtf8(Name));
+       if (item == nullptr)
+               return nullptr;
+       if (item->itemType() != PageItem::ImageFrame)
+       {
+               PyErr_SetString(WrongFrameTypeError,
+                       QObject::tr("Page item must be an ImageFrame", "python 
error").toLocal8Bit().constData());
+               return nullptr;
+       }
+
+       const ScImage& pixm = item->pixm;
+       if (pixm.width() == 0 || pixm.height() == 0)
+               return PyInt_FromLong(static_cast<long>(-1));
+
+       const ImageInfoRecord& iir = pixm.imgInfo;
+       int cspace = iir.colorspace;
+       /*
+       RGB  = 0,
+       CMYK = 1,
+       Gray = 2,
+       Duotone = 3,
+       Monochrome = 4
+       */
+       return PyInt_FromLong(static_cast<long>(cspace));
+}
+
 
 /*! HACK: this removes "warning: 'blah' defined but not used" compiler warnings
 with header files structure untouched (docstrings are kept near declarations)
@@ -411,5 +444,5 @@
          << scribus_getimgscale__doc__ << scribus_getimagefile__doc__ 
          << scribus_getposi__doc__ << scribus_getsize__doc__ 
          << scribus_getrotation__doc__ <<  scribus_getallobj__doc__
-         << scribus_getobjectattributes__doc__;
-}
+         << scribus_getobjectattributes__doc__ << 
scribus_getimagecolorspace__doc__;
+}

Modified: trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22775&path=/trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.h
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.h     (original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.h     Fri Nov 23 
00:21:59 2018
@@ -166,24 +166,35 @@
 PyObject *scribus_getcornerrad(PyObject * /*self*/, PyObject* args);
 
 /*! docstring */
+PyDoc_STRVAR(scribus_getimagecolorspace__doc__,
+QT_TR_NOOP("getImageColorSpace([\"name\"]) -> integer\n\
+Returns the color space for the image loaded in image frame \"name\" as \n\
+one of following integer constants: CSPACE_RGB (0), CSPACE_CMYK (1), \n\
+CSPACE_GRAY (2), CSPACE_DUOTONE (3) or CSPACE_MONOCHROME (4).\n\
+Returns CSPACE_UNDEFINED (-1) if no image is loaded in the frame.\n\
+If \"name\" is not given the currently selected item is used.\n\
+"));
+PyObject *scribus_getimagecolorspace(PyObject * /*self*/, PyObject* args);
+
+/*! docstring */
+PyDoc_STRVAR(scribus_getimagefile__doc__,
+QT_TR_NOOP("getImageFile([\"name\"]) -> string\n\
+\n\
+Returns the filename for the image in the image frame. If \"name\" is not\n\
+given the currently selected item is used.\n\
+"));
+/*! Returns image name of the object */
+PyObject *scribus_getimagefile(PyObject * /*self*/, PyObject* args);
+
+/*! docstring */
 PyDoc_STRVAR(scribus_getimgscale__doc__,
-QT_TR_NOOP("getImageScale([\"name\"]) -> (x,y)\n\
+       QT_TR_NOOP("getImageScale([\"name\"]) -> (x,y)\n\
 \n\
 Returns a (x, y) tuple containing the scaling values of the image frame\n\
 \"name\".  If \"name\" is not given the currently selected item is used.\n\
 "));
 /*! Returns image scale of the object */
 PyObject *scribus_getimgscale(PyObject * /*self*/, PyObject* args);
-
-/*! docstring */
-PyDoc_STRVAR(scribus_getimagefile__doc__,
-QT_TR_NOOP("getImageFile([\"name\"]) -> string\n\
-\n\
-Returns the filename for the image in the image frame. If \"name\" is not\n\
-given the currently selected item is used.\n\
-"));
-/*! Returns image name of the object */
-PyObject *scribus_getimagefile(PyObject * /*self*/, PyObject* args);
 
 /*! docstring */
 PyDoc_STRVAR(scribus_getposi__doc__,

Modified: trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22775&path=/trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp (original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp Fri Nov 23 
00:21:59 2018
@@ -374,6 +374,7 @@
        {const_cast<char*>("getFontSize"), scribus_getfontsize, METH_VARARGS, 
tr(scribus_getfontsize__doc__)},
        {const_cast<char*>("getGuiLanguage"), (PyCFunction)scribus_getlanguage, 
METH_NOARGS, tr(scribus_getlanguage__doc__)},
        {const_cast<char*>("getHGuides"), (PyCFunction)scribus_getHguides, 
METH_NOARGS, tr(scribus_getHguides__doc__)},
+       {const_cast<char*>("getImageColorSpace"), scribus_getimagecolorspace, 
METH_VARARGS, tr(scribus_getimagecolorspace__doc__) },
        {const_cast<char*>("getImageFile"), scribus_getimagefile, METH_VARARGS, 
tr(scribus_getimagefile__doc__)},
        {const_cast<char*>("getImageScale"), scribus_getimgscale, METH_VARARGS, 
tr(scribus_getimgscale__doc__)},
        {const_cast<char*>("getLayers"), (PyCFunction)scribus_getlayers, 
METH_NOARGS, tr(scribus_getlayers__doc__)},
@@ -768,6 +769,12 @@
        PyDict_SetItemString(d, const_cast<char*>("PAPER_LEGAL"), 
Py_BuildValue(const_cast<char*>("(ff)"), 612.0, 1008.0));
        PyDict_SetItemString(d, const_cast<char*>("PAPER_LETTER"), 
Py_BuildValue(const_cast<char*>("(ff)"), 612.0, 792.0));
        PyDict_SetItemString(d, const_cast<char*>("PAPER_TABLOID"), 
Py_BuildValue(const_cast<char*>("(ff)"), 792.0, 1224.0));
+       PyDict_SetItemString(d, const_cast<char*>("CSPACE_UNDEFINED"), 
Py_BuildValue(const_cast<char*>("i"), -1));
+       PyDict_SetItemString(d, const_cast<char*>("CSPACE_RGB"), 
Py_BuildValue(const_cast<char*>("i"), 0));
+       PyDict_SetItemString(d, const_cast<char*>("CSPACE_CMYK"), 
Py_BuildValue(const_cast<char*>("i"), 1));
+       PyDict_SetItemString(d, const_cast<char*>("CSPACE_GRAY"), 
Py_BuildValue(const_cast<char*>("i"), 2));
+       PyDict_SetItemString(d, const_cast<char*>("CSPACE_DUOTONE"), 
Py_BuildValue(const_cast<char*>("i"), 3));
+       PyDict_SetItemString(d, const_cast<char*>("CSPACE_MONOCHROME"), 
Py_BuildValue(const_cast<char*>("i"), 4));
        PyDict_SetItemString(d, const_cast<char*>("NORMAL"), 
Py_BuildValue(const_cast<char*>("i"), 0));
        PyDict_SetItemString(d, const_cast<char*>("DARKEN"), 
Py_BuildValue(const_cast<char*>("i"), 1));
        PyDict_SetItemString(d, const_cast<char*>("LIGHTEN"), 
Py_BuildValue(const_cast<char*>("i"), 2));


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to