当前位置: 首页>>代码示例>>C++>>正文


C++ Conversion类代码示例

本文整理汇总了C++中Conversion的典型用法代码示例。如果您正苦于以下问题:C++ Conversion类的具体用法?C++ Conversion怎么用?C++ Conversion使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Conversion类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: colour_extracted

cv::Mat ExtractColour::pcd2colourHSV(pcl::PointCloud<pcl::PointXYZRGBA> cloud)
{
	cv::Mat colour_extracted(cloud.height*cloud.width, 3, CV_32F);
	pcl::PointCloud<pcl::PointXYZRGBA>::ConstPtr cloudPtr (new pcl::PointCloud<pcl::PointXYZRGBA> (cloud));
	
	Conversion conversion;
	
	#pragma omp parallel 
	{
		#pragma omp for shared (colour_extracted, cloud) private (i, j) reduction(+: sum) 
		{
			for(int i=0; i<cloudPtr->width; i++)
				for(int j = 0; j <cloudPtr->height; j++)
				{
					std::vector<double> hsv=conversion.rgb2hsv(cloudPtr->points[i].r,cloudPtr->points[i].g,cloudPtr->points[i].b); // perform RGB to HSV conversion
					
					colour_extracted.at<float>(i + j*cloudPtr->width, 1) = hsv[0]; // save H parameter
					colour_extracted.at<float>(i + j*cloudPtr->width, 2) = hsv[1]; // save S parameter
					colour_extracted.at<float>(i + j*cloudPtr->width, 3) = hsv[2]; // save V parameter
				}
		}
	}
		
	return colour_extracted;
}
开发者ID:caomw,项目名称:FloorReconstruction,代码行数:25,代码来源:extract_colour.cpp

示例2: start_rtn

void* start_rtn(void* arg)
{
    //printf("this is the void * return function\n");
    Conversion * test = (Conversion *)malloc(sizeof(Conversion));
    test = (Conversion *)arg;
    test->start(test->arg);
    //printf("conversion function pointer\n");
    return NULL;
}
开发者ID:wgs111,项目名称:nexus5code,代码行数:9,代码来源:mytestgps.version2.cpp

示例3: Conversion

  void ConversionStation::buildConversions() {
    //std::cout << "STATION" << std::endl;

    for (auto& currentConversionNode : conversionsNode_) {
      Conversion* newConversion = new Conversion();
      newConversion->store(propertyTree());
      newConversion->store(currentConversionNode.second);
      newConversion->check();
      newConversion->build();

      conversions.push_back(newConversion);
    }
  }
开发者ID:GiacomoSguazzoni,项目名称:tkLayout,代码行数:13,代码来源:ConversionStation.cpp

示例4: main

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);

	QCoreApplication::setOrganizationName("Infinite Interactive");
	QCoreApplication::setOrganizationDomain("infiniteinteractive.com");
	QCoreApplication::setApplicationName("Conversion");

	Limitless::MediaPluginFactory::loadPlugins("./plugins/");

	Conversion w;

	w.show();
	return a.exec();
}
开发者ID:InfiniteInteractive,项目名称:LimitlessSDK,代码行数:15,代码来源:main.cpp

示例5: kDebug

void WordsTableHandler::tableRowStart(wvWare::SharedPtr<const wvWare::Word97::TAP> tap)
{
    kDebug(30513) ;
    if (m_row == -2) {
        kWarning(30513) << "tableRowStart: tableStart not called previously!";
        return;
    }
    Q_ASSERT(m_currentTable);
    Q_ASSERT(!m_currentTable->name.isEmpty());
    m_row++;
    m_column = -1;
    m_tap = tap;
    KoXmlWriter*  writer = currentWriter();
    //kDebug(30513) << "tableRowStart row=" << m_row
    //            << ", number of cells: " << tap->itcMac;

    KoGenStyle rowStyle(KoGenStyle::TableRowAutoStyle, "table-row");

    //in case a header or footer is processed, save the style into styles.xml
    if (document()->writingHeader()) {
        rowStyle.setAutoStyleInStylesDotXml(true);
    }

    // The 6 BRC objects are for top, left, bottom, right,
    // insidehorizontal, insidevertical (default values).
    for (int i = 0; i < 6; i++) {
        const wvWare::Word97::BRC& brc = tap->rgbrcTable[i];
        //kDebug(30513) << "default border" << brc.brcType << (brc.dptLineWidth / 8.0);
        m_borderStyle[i] = Conversion::setBorderAttributes(brc);
        m_margin[i] = QString::number(brc.dptSpace) + "pt";
    }
    // We ignore brc.dptSpace (spacing), brc.fShadow (shadow), and brc.fFrame (?)
    QString rowHeightString = QString::number(twipsToPt(qAbs(tap->dyaRowHeight)), 'f').append("pt");

    if (tap->dyaRowHeight > 0) {
        rowStyle.addProperty("style:min-row-height", rowHeightString);
    } else if (tap->dyaRowHeight < 0) {
        rowStyle.addProperty("style:row-height", rowHeightString);
    }

    if (tap->fCantSplit) {
        rowStyle.addProperty("fo:keep-together", "always");
    }

    QString rowStyleName = m_mainStyles->insert(rowStyle, QLatin1String("row"));

    //start table row in content
    writer->startElement("table:table-row");
    writer->addAttribute("table:style-name", rowStyleName.toUtf8());
}
开发者ID:TheTypoMaster,项目名称:calligra,代码行数:50,代码来源:tablehandler.cpp

示例6: colours

std::vector<Matrix_double> ExtractColour::indexPCD2VectorLab(pcl::PointCloud<pcl::PointXYZRGBA> cloud, std::vector<int> index)
{
	std::vector <Matrix_double> colours(3);
	pcl::PointCloud<pcl::PointXYZRGBA>::ConstPtr cloudPtr (new pcl::PointCloud<pcl::PointXYZRGBA> (cloud));
	
	Conversion conversion;
	
	#pragma omp parallel 
	{
		#pragma omp for shared (cloud, index, colours) private (i) reduction(+: sum) 
		{
			for (int i=0; i<index.size(); i++)
			{
				std::vector<int> lab=conversion.rgb2lab(cloudPtr->points[index[i]].r,cloudPtr->points[index[i]].g,cloudPtr->points[index[i]].b); // perform RGB to Lab conversion
				
				colours[i].columns.push_back(lab[0]); // save L parameter
				colours[i].columns.push_back(lab[1]); // save a parameter
				colours[i].columns.push_back(lab[2]); // save b parameter
			}
		}
	}
	
	return colours;
}
开发者ID:caomw,项目名称:FloorReconstruction,代码行数:24,代码来源:extract_colour.cpp

示例7: register_articles

/*
 * Registers articles.  The arguments in the specified
 * list are (in order):
 *
 * install location
 * datasheet filename
 * parent mnemonic
 * parent id
 *
 * All of these arguments are optional.
 *
 * The install location refers to the directory in which the software
 * has been installed.
 *
 * The datasheet filename specifies the name of the file that contains
 * the data representing articles to be registered.  If the datasheet
 * filename is not provided, the datasheet information will be read
 * from stdin.
 *
 * The parent mnemonic specifies the name of the article which is the
 * parent of the article(s) being registered with this call.
 *
 * The parent id specifies the instance of the article which is the
 * parent of the article(s) being registered with this call.
 *
 * This function returns the id of the article being registered.
 */
static char *
register_articles(List *arg_list)
{
	/*
	 * The default datasheet file is stdin.
	 */
	FILE *in = stdin;
	char *result = NULL;
	char *location = NULL;
	char *parent_mnemonic = NULL;
	char *parent_id = NULL;
	Wsreg_component *parent_component = NULL;
	List *matches = NULL;
	List *article_list = NULL;
	Conversion *conversion;

	if (arg_list->size(arg_list) > 0) {
		/*
		 * Install location, datasheet filename.
		 */
		char *path;
		location = (char *)arg_list->element_at(arg_list, 0);
		if (strcmp(location, "-") == 0) {
			location = NULL;
		}
		path = (char *)arg_list->element_at(arg_list, 1);
		in = NULL;
		if (path != NULL) {
			in = fopen(path, "r");
		}
		if (in == NULL) {
			(void) fprintf(stderr, PRODREG_CANT_READ_FILE,
			    path);
			(void) fprintf(stderr, "\n");
			return ("");
		}

		if (arg_list->size(arg_list) > 2) {
			/*
			 * Parent mnemonic, parent id.
			 */
			parent_mnemonic =
			    (char *)arg_list->element_at(arg_list, 2);
			parent_id = (char *)arg_list->element_at(arg_list, 3);
			if (parent_mnemonic != NULL &&
			    parent_id != NULL) {
				matches =
				    get_matching_components(parent_mnemonic,
					parent_id);
				if (matches != NULL &&
				    matches->size(matches) == 1) {
					parent_component =
					    (Wsreg_component *)
					    matches->element_at(matches, 0);
				} else {
					(void) fprintf(stderr,
					    PRODREG_NO_SUCH_COMPONENT,
					    parent_mnemonic, parent_id);
					(void) fprintf(stderr, "\n");

				}
			}
		}
	}

	article_list = read_articles(in);
	conversion = _wsreg_conversion_create(NULL);

	/*
	 * Creates associations between parent Article and
	 * child Article.
	 */
	conversion->create_associations(article_list);
//.........这里部分代码省略.........
开发者ID:belenix,项目名称:belenixold,代码行数:101,代码来源:Prodreg.c

示例8: wsreg_convert_registry

/*
 * Converts the specified registry file.  The specified file is
 * removed if the conversion is successful.  If conversion_count
 * is not NULL, the total number of Articles converted will be
 * passed back.
 */
int
wsreg_convert_registry(const char *filename, int *conversion_count,
    Progress_function progress_callback)
{
	File_util *futil = _wsreg_fileutil_initialize();

	if (initialized == WSREG_NOT_INITIALIZED) {
		return (WSREG_NOT_INITIALIZED);
	}

	if (!futil->exists(filename)) {
		/*
		 * Bad filename.
		 */
		return (WSREG_FILE_NOT_FOUND);
	}
	if (futil->can_read(filename) && futil->can_write(filename)) {
		/*
		 * The registry file can be read and removed.
		 */
		if (wsreg_can_access_registry(O_RDWR)) {
			/*
			 * The conversion permissions are appropriate.
			 * Perform the conversion.
			 */
			int result;
			int article_count = 0;
			Progress *progress =
			    _wsreg_progress_create(
				    (Progress_callback)*progress_callback);
			int count = 0;
			Unz_article_input_stream *ain = NULL;
			Conversion *c = NULL;

			/*
			 * The first progress section represents the
			 * unzipping of the data file.
			 */
			progress->set_section_bounds(progress, 5, 1);
			ain = _wsreg_uzais_open(filename, &result);
			progress->finish_section(progress);
			if (result != WSREG_SUCCESS) {
				/*
				 * The open failed.  Clean up and
				 * return the error code.
				 */
				if (ain != NULL) {
					ain->close(ain);
				}
				progress->free(progress);
				return (result);
			}

			c = _wsreg_conversion_create(progress);

			/*
			 * The second progress section represents
			 * the reading of articles.
			 */
			article_count = ain->get_article_count(ain);
			progress->set_section_bounds(progress, 8,
			    article_count);
			while (ain->has_more_articles(ain)) {
				Article *a = ain->get_next_article(ain);
				if (a != NULL) {
					c->add_article(c, a);
				}
				progress->increment(progress);
			}
			progress->finish_section(progress);
			ain->close(ain);

			/*
			 * The third progress section represents
			 * the conversion and registration of the
			 * resulting components.
			 */
			progress->set_section_bounds(progress, 100,
			    article_count);
			count = c->register_components(c, NULL, FALSE);
			progress->finish_section(progress);

			/*
			 * Pass the count back to the caller.
			 */
			if (conversion_count != NULL) {
				*conversion_count = count;
			}

			/*
			 * Remove the old registry file.
			 */
			futil->remove(filename);

//.........这里部分代码省略.........
开发者ID:belenix,项目名称:belenixold,代码行数:101,代码来源:wsreg.c

示例9: kDebug


//.........这里部分代码省略.........
    kDebug(30513) << "CellBorders=" << m_row << m_column
    << "top" << tc.brcTop.brcType << tc.brcTop.dptLineWidth
    << "left" << tc.brcLeft.brcType << tc.brcLeft.dptLineWidth
    << "bottom" << tc.brcBottom.brcType << tc.brcBottom.dptLineWidth
    << "right" << tc.brcRight.brcType << tc.brcRight.dptLineWidth;
#endif

    const wvWare::Word97::BRC brcNone;
    const wvWare::Word97::BRC& brcTop = (m_row > 0) ?
                                        brcWinner(tc.brcTop, m_tap->rgbrcTable[4]) :
                                        ((tc.brcTop.brcType > 0 && tc.brcTop.brcType < 64) ? tc.brcTop : m_tap->rgbrcTable[0]);
    const wvWare::Word97::BRC& brcBottom = (m_row < m_currentTable->rows.size() - 1) ?
                                           brcWinner(tc.brcBottom, m_tap->rgbrcTable[4]) :
                                           brcWinner(tc.brcBottom, m_tap->rgbrcTable[2]);
    const wvWare::Word97::BRC& brcLeft = (m_column > 0) ?
                                         brcWinner(tc.brcLeft, m_tap->rgbrcTable[5]) :
                                         brcWinner(tc.brcLeft, m_tap->rgbrcTable[1]);
    const wvWare::Word97::BRC& brcRight = (m_column < nbCells - 1) ?
                                          brcWinner(tc.brcRight, m_tap->rgbrcTable[5]) :
                                          brcWinner(tc.brcRight, m_tap->rgbrcTable[3]);

    const wvWare::Word97::BRC& brcTL2BR = tc.brcTL2BR;
    const wvWare::Word97::BRC& brcTR2BL = tc.brcTR2BL;

    KOdfGenericStyle cellStyle(KOdfGenericStyle::TableCellAutoStyle, "table-cell");

    //in case a header or footer is processed, save the style into styles.xml
    if (document()->writingHeader()) {
        cellStyle.setAutoStyleInStylesDotXml(true);
    }

    //set borders for the four edges of the cell
    if (brcTop.brcType > 0 && brcTop.brcType < 64) {
        cellStyle.addProperty("fo:border-top", Conversion::setBorderAttributes(brcTop));
        QString kba = Conversion::borderKOfficeAttributes(brcTop);
        if (!kba.isEmpty()) {
            cellStyle.addProperty("koffice:specialborder-top",kba);
        }
        QString dba = Conversion::setDoubleBorderAttributes(brcTop);
        if (!dba.isEmpty())
            cellStyle.addProperty("style:border-line-width-top", dba);
    }

    //left
    if (brcLeft.brcType > 0 && brcLeft.brcType < 64) {
        cellStyle.addProperty("fo:border-left", Conversion::setBorderAttributes(brcLeft));
        QString kba = Conversion::borderKOfficeAttributes(brcLeft);
        if (!kba.isEmpty()) {
            cellStyle.addProperty("koffice:specialborder-left",kba);
        }
        QString dba = Conversion::setDoubleBorderAttributes(brcLeft);
        if (!dba.isEmpty())
            cellStyle.addProperty("style:border-line-width-left", dba);
    }

    //bottom
    if (brcBottom.brcType != 0 && brcBottom.brcType < 64) {
        cellStyle.addProperty("fo:border-bottom", Conversion::setBorderAttributes(brcBottom));
        QString kba = Conversion::borderKOfficeAttributes(brcBottom);
        if (!kba.isEmpty()) {
            cellStyle.addProperty("koffice:specialborder-bottom",kba);
        }
        QString dba = Conversion::setDoubleBorderAttributes(brcBottom);
        if (!dba.isEmpty())
            cellStyle.addProperty("style:border-line-width-bottom", dba);
    }
开发者ID:KDE,项目名称:koffice,代码行数:67,代码来源:tablehandler.cpp

示例10: Compose

//==============================================================================
/// Convenience function to compose two conversions.
/// 
/// \param [in] f The f(x) conversion.
/// \param [in] g The g(x) conversion.
/// 
/// \return A conversion for f(g(x)).
/// 
Conversion::AutoPtr Compose( const Conversion& f, const Conversion& g )
{
    return f.Compose( g );
}
开发者ID:Fifty-Nine,项目名称:AutoUnits,代码行数:12,代码来源:Conversion.cpp

示例11: style

void WordsGraphicsHandler::processInlinePictureFrame(const MSO::OfficeArtSpContainer& o, DrawingWriter& out)
{
    debugMsDoc ;

    // Shape instance contained in OfficeArtInlineSpContainer.  BLIP properties
    // contained in o.shapePrimaryOptions or o.shapeTertiaryOptions1 are stored
    // in the order they are encountered, and the property values
    // OfficeArtFOPTE.opid.fBid, OfficeArtFOPTE.opid.fComplex, and
    // OfficeArtFOPTE.op MUST be ignored.  [MS-ODRAW] — v20101219

    QString styleName;
    KoGenStyle style(KoGenStyle::GraphicAutoStyle, "graphic");
    style.setAutoStyleInStylesDotXml(out.stylesxml);

    const MSO::OfficeArtDggContainer *dgg = 0;
#ifdef USE_OFFICEARTDGG_CONTAINER
    dgg = &m_officeArtDggContainer;
#endif

    DrawStyle ds(dgg, 0, &o);
    DrawClient drawclient(this);
    ODrawToOdf odrawtoodf(drawclient);
    odrawtoodf.defineGraphicProperties(style, ds, out.styles);
    definePositionAttributes(style, ds);

    style.addProperty("fo:border-top", Conversion::setBorderAttributes(m_picf->brcTop));
    style.addProperty("fo:border-left", Conversion::setBorderAttributes(m_picf->brcLeft));
    style.addProperty("fo:border-bottom", Conversion::setBorderAttributes(m_picf->brcBottom));
    style.addProperty("fo:border-right", Conversion::setBorderAttributes(m_picf->brcRight));

    // NOTE: The default margin-left/margin-right values DO NOT make sense for
    // inline pictures, also after conversion of test files to DOCX, both
    // attributes were set to ZEROs.  Default margin-top/margin-bottom is ZERO.
    style.addPropertyPt("fo:margin", 0);

    styleName = out.styles.insert(style);

    // A diagram drawing canvas placed inline with surrounding text.
    if (ds.fPseudoInline()) {
        out.xml.startElement("draw:rect");
    } else {
        out.xml.startElement("draw:frame");
    }
    out.xml.addAttribute("draw:style-name", styleName);
    setAnchorTypeAttribute(out);
    setZIndexAttribute(out);

    double hscale = m_picf->mx / 1000.0;
    double vscale = m_picf->my / 1000.0;
    out.xml.addAttributePt("svg:width", twipsToPt(m_picf->dxaGoal) * hscale);
    out.xml.addAttributePt("svg:height", twipsToPt(m_picf->dyaGoal) * vscale);

    QString name = m_picNames.value(m_rgbUid);
    QString url;
    if (!name.isEmpty()) {
        url.append("Pictures/");
        url.append(name);
    } else {
        // if the image cannot be found, just place an empty frame
        out.xml.endElement(); //draw:frame (draw:rect)
        return;
    }
    //TODO: process border information (complex properties)

    out.xml.startElement("draw:image");
    out.xml.addAttribute("xlink:href", url);
    out.xml.addAttribute("xlink:type", "simple");
    out.xml.addAttribute("xlink:show", "embed");
    out.xml.addAttribute("xlink:actuate", "onLoad");
    out.xml.endElement(); //draw:image
    out.xml.endElement(); //draw:frame
    return;
}
开发者ID:KDE,项目名称:calligra,代码行数:73,代码来源:graphicshandler.cpp

示例12:

QDebug operator<<( QDebug out, const Conversion& conv )
{
    return out << conv.ToString();
}
开发者ID:Fifty-Nine,项目名称:AutoUnits,代码行数:4,代码来源:ConversionDebug.cpp

示例13: insertEmptyInlineFrame

void WordsGraphicsHandler::insertEmptyInlineFrame(DrawingWriter& out)
{
    if (m_objectType != Inline) return;

    QString styleName;
    KoGenStyle style(KoGenStyle::GraphicAutoStyle, "graphic");
    style.setAutoStyleInStylesDotXml(out.stylesxml);

    DrawStyle ds;
    DrawClient drawclient(this);
    ODrawToOdf odrawtoodf(drawclient);
    odrawtoodf.defineGraphicProperties(style, ds, out.styles);
    definePositionAttributes(style, ds);
    defineWrappingAttributes(style, ds);
    styleName = out.styles.insert(style);

    out.xml.startElement("draw:frame");
    out.xml.addAttribute("draw:style-name", styleName);
    setAnchorTypeAttribute(out);
    setZIndexAttribute(out);
    double hscale = m_picf->mx / 1000.0;
    double vscale = m_picf->my / 1000.0;
    out.xml.addAttributePt("svg:width", twipsToPt(m_picf->dxaGoal) * hscale);
    out.xml.addAttributePt("svg:height", twipsToPt(m_picf->dyaGoal) * vscale);
    out.xml.endElement(); //draw:frame
}
开发者ID:KDE,项目名称:calligra,代码行数:26,代码来源:graphicshandler.cpp

示例14: tableStart

// Called by Document before invoking the table-row-functors
void KWordTableHandler::tableStart(KWord::Table* table)
{
    kDebug(30513);

    Q_ASSERT(table);
    Q_ASSERT(!table->name.isEmpty());

    KXmlWriter*  writer = currentWriter();
    wvWare::SharedPtr<const wvWare::Word97::TAP> tap = table->tap;

    m_currentTable = table;
    m_cellOpen = false;

#if 0
    for (unsigned int i = 0; i < (unsigned int)table->m_cellEdges.size(); i++)
        kDebug(30513) << table->m_cellEdges[i];
#endif

    m_row = -1;
    m_currentY = 0;

    //check if the table is inside of an absolutely positioned frame
    if ( (tap->dxaAbs != 0 || tap->dyaAbs) )
    {
        KOdfGenericStyle userStyle(KOdfGenericStyle::GraphicAutoStyle, "graphic");
        QString drawStyleName;
        int dxaAbs = 0;

        writer->startElement("text:p", false);
        writer->addAttribute("text:style-name", "Standard");

        //process wrapping information
        if (tap->textWrap) {
            //right aligned
            if (tap->dxaAbs == -8) {
                userStyle.addProperty("style:wrap", "left");
            }
            //left aligned
            else if (tap->dxaAbs == 0) {
                userStyle.addProperty("style:wrap", "right");
            } else {
                userStyle.addProperty("style:wrap", "parallel");
            }
           //ODF-1.2: specifies the number of paragraphs that can wrap around a
           //frame if wrap mode is in {left, right, parallel, dynamic} and
           //anchor type is in {char, paragraph}
            userStyle.addProperty("style:number-wrapped-paragraphs", "no-limit");
        } else {
            userStyle.addProperty("style:wrap", "none");
        }

        //margin information is related to wrapping of text around the table
        userStyle.addPropertyPt("fo:margin-left", twipsToPt(tap->dxaFromText));
        userStyle.addPropertyPt("fo:margin-right", twipsToPt(tap->dxaFromTextRight));
        userStyle.addPropertyPt("fo:margin-top", twipsToPt(tap->dyaFromText));
        userStyle.addPropertyPt("fo:margin-bottom", twipsToPt(tap->dyaFromTextBottom));

        //MS-DOC - sprmPDxaAbs - relative horizontal position to anchor
        // (-4) - center, (-8) - right, (-12) - inside, (-16) - outside
        if (tap->dxaAbs == -4) {
            userStyle.addProperty("style:horizontal-pos","center");
        }
        else if (tap->dxaAbs == -8)  {
            userStyle.addProperty("style:horizontal-pos","right");
            userStyle.addPropertyPt("fo:margin-right", 0);
        }
        else if (tap->dxaAbs == -12) {
            userStyle.addProperty("style:horizontal-pos","inside");
        }
        else if (tap->dxaAbs == -16) {
            userStyle.addProperty("style:horizontal-pos","outside");
        }
        else {
            dxaAbs = tap->dxaAbs;
            userStyle.addProperty("style:horizontal-pos","from-left");
            userStyle.addPropertyPt("fo:margin-left", 0);
        }

        int dyaAbs = 0;
        //MS-DOC - sprmPDyaAbs - relative vertical position to anchor
        // (-4) - top, (-8) - middle, (-12) - bottom, (-16) - inside,
        // (-20) - outside
        if (tap->dyaAbs == -4) {
            userStyle.addProperty("style:vertical-pos","top");
        }
        else if (tap->dyaAbs == -8) {
            userStyle.addProperty("style:vertical-pos","middle");
        }
        else if (tap->dyaAbs == -12) {
            userStyle.addProperty("style:vertical-pos","bottom");
        }
        else if (tap->dyaAbs == -16) {
            userStyle.addProperty("style:vertical-pos","inline");
        }
        else if (tap->dyaAbs == -20) {
            userStyle.addProperty("style:vertical-pos","inline");
        }
        else {
            dyaAbs = tap->dyaAbs;
//.........这里部分代码省略.........
开发者ID:KDE,项目名称:koffice,代码行数:101,代码来源:tablehandler.cpp

示例15: processFloatingPictureFrame

void WordsGraphicsHandler::processFloatingPictureFrame(const MSO::OfficeArtSpContainer& o, DrawingWriter& out)
{
    debugMsDoc ;

    const MSO::OfficeArtDggContainer *dgg = 0;
#ifdef USE_OFFICEARTDGG_CONTAINER
    dgg = &m_officeArtDggContainer;
#endif
    DrawStyle ds(dgg, 0, &o);

    // A value of 0x00000000 MUST be ignored.  [MS-ODRAW] — v20101219
    if (!ds.pib()) return;

    QString styleName;
    KoGenStyle style(KoGenStyle::GraphicAutoStyle, "graphic");
    style.setAutoStyleInStylesDotXml(out.stylesxml);

    DrawClient drawclient(this);
    ODrawToOdf odrawtoodf(drawclient);
    odrawtoodf.defineGraphicProperties(style, ds, out.styles);
    definePositionAttributes(style, ds);
    defineWrappingAttributes(style, ds);
    styleName = out.styles.insert(style);

    out.xml.startElement("draw:frame");
    out.xml.addAttribute("draw:style-name", styleName);
    setAnchorTypeAttribute(out);
    setZIndexAttribute(out);

    out.xml.addAttribute("svg:width", mm(out.hLength()));
    out.xml.addAttribute("svg:height", mm(out.vLength()));
    out.xml.addAttribute("svg:x", mm(out.hOffset()));
    out.xml.addAttribute("svg:y", mm(out.vOffset()));

    QString url = getPicturePath(ds.pib());

    //if the image cannot be found, just place an empty frame
    if (url.isEmpty()) {
        out.xml.endElement(); //draw:frame
        return;
    }
    out.xml.startElement("draw:image");
    out.xml.addAttribute("xlink:href", url);
    out.xml.addAttribute("xlink:type", "simple");
    out.xml.addAttribute("xlink:show", "embed");
    out.xml.addAttribute("xlink:actuate", "onLoad");
    out.xml.endElement(); //draw:image

    //check for user edited wrap points
#if 0
    if (ds.fEditedWrap()) {
        QString points;
        IMsoArray _v = ds.pWrapPolygonVertices_complex();
        if (_v.data.size()) {
            //_v.data is an array of POINTs, MS-ODRAW, page 89
            QByteArray a, a2;
            int* p;

            for (int i = 0, offset = 0; i < _v.nElems; i++, offset += _v.cbElem) {
                // x coordinate of this point
                a = _v.data.mid(offset, _v.cbElem);
                a2 = a.mid(0, _v.cbElem / 2);
                p = (int*) a2.data();
                points.append(QString::number(twipsToPt(*p), 'f'));
                points.append(",");
                // y coordinate of this point
                a2 = a.mid(_v.cbElem / 2, _v.cbElem / 2);
                p = (int*) a2.data();
                points.append(QString::number(twipsToPt(*p), 'f'));
                points.append(" ");
            }
            points.chop(1); //remove last space
        }
        out.xml.startElement("draw:contour-polygon");
        out.xml.addAttribute("draw:points", points);
        out.xml.endElement(); //draw:contour-polygon
    }
#endif
    out.xml.endElement(); //draw:frame
    return;
}
开发者ID:KDE,项目名称:calligra,代码行数:81,代码来源:graphicshandler.cpp


注:本文中的Conversion类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。