• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ calcSize函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: calcSize

// initialize image data
void ImageBase::init (short width, short height)
{
	// if image has to be scaled
	if (m_scale)
	{
		// recalc sizes of image
		width = calcSize(width);
		height = calcSize(height);
	}
	// if sizes differ
	if (width != m_size[0] || height != m_size[1])
	{
		if (m_exports > 0)
			THRWEXCP(ImageHasExports,S_OK);

		// new buffer size
		unsigned int newSize = width * height;
		// if new buffer is larger than previous
		if (newSize > m_imgSize)
		{
			// set new buffer size
			m_imgSize = newSize;
			// release previous and create new buffer
			if (m_image)
				delete [] m_image;
			m_image = new unsigned int[m_imgSize];
		}
		// new image size
		m_size[0] = width;
		m_size[1] = height;
		// scale was processed
		m_scaleChange = false;
	}
}
开发者ID:danielmarg,项目名称:blender-main,代码行数:35,代码来源:ImageBase.cpp


示例2: memset

int32_t C2DColorConverter::getBuffReq(int32_t port, C2DBuffReq *req) {
    if (!req) return -1;

    if (port != C2D_INPUT && port != C2D_OUTPUT) return -1;

    memset(req, 0, sizeof(C2DBuffReq));
    if (port == C2D_INPUT) {
        req->width = mSrcWidth;
        req->height = mSrcHeight;
        req->stride = calcStride(mSrcFormat, mSrcWidth);
        req->sliceHeight = mSrcHeight;
        req->lumaAlign = calcLumaAlign(mSrcFormat);
        req->sizeAlign = calcSizeAlign(mSrcFormat);
        req->size = calcSize(mSrcFormat, mSrcWidth, mSrcHeight);
        //add bpp?
        ALOGV("input req->size = %d\n", req->size);
    } else if (port == C2D_OUTPUT) {
        req->width = mDstWidth;
        req->height = mDstHeight;
        req->stride = calcStride(mDstFormat, mDstWidth);
        req->sliceHeight = mDstHeight;
        req->lumaAlign = calcLumaAlign(mDstFormat);
        req->sizeAlign = calcSizeAlign(mDstFormat);
        req->size = calcSize(mDstFormat, mDstWidth, mDstHeight);
        ALOGV("output req->size = %d\n", req->size);
    }
    return 0;
}
开发者ID:HackerOO7,项目名称:hardware_qcom_media,代码行数:28,代码来源:C2DColorConverter.cpp


示例3: real

void CanvasNavigator::createCanvasBox()
{
    QRect crect = m_canvas->contentsRect();
    QRect mapped = m_canvas->mapDev(crect);
    QRectF real(calcSize(mapped.x()), 0, calcSize(mapped.width()), 80);
    m_canvasBox = m_scene->addRect(real);
    m_canvasBox->setZValue(124000.0f);
    updateCanvasBoxColor();
}
开发者ID:falkTX,项目名称:los,代码行数:9,代码来源:CanvasNavigator.cpp


示例4: dlopen

C2DColorConverter::C2DColorConverter(size_t srcWidth, size_t srcHeight, size_t dstWidth, size_t dstHeight, ColorConvertFormat srcFormat, ColorConvertFormat dstFormat, int32_t flags, size_t stride)
{
     mError = 0;
     mC2DLibHandle = dlopen("libC2D2.so", RTLD_NOW);
     if (!mC2DLibHandle) {
         ALOGE("FATAL ERROR: could not dlopen libc2d2.so: %s", dlerror());
         mError = -1;
         return;
     }
     mC2DCreateSurface = (LINK_c2dCreateSurface)dlsym(mC2DLibHandle, "c2dCreateSurface");
     mC2DUpdateSurface = (LINK_c2dUpdateSurface)dlsym(mC2DLibHandle, "c2dUpdateSurface");
     mC2DReadSurface = (LINK_c2dReadSurface)dlsym(mC2DLibHandle, "c2dReadSurface");
     mC2DDraw = (LINK_c2dDraw)dlsym(mC2DLibHandle, "c2dDraw");
     mC2DFlush = (LINK_c2dFlush)dlsym(mC2DLibHandle, "c2dFlush");
     mC2DFinish = (LINK_c2dFinish)dlsym(mC2DLibHandle, "c2dFinish");
     mC2DWaitTimestamp = (LINK_c2dWaitTimestamp)dlsym(mC2DLibHandle, "c2dWaitTimestamp");
     mC2DDestroySurface = (LINK_c2dDestroySurface)dlsym(mC2DLibHandle, "c2dDestroySurface");
     mC2DMapAddr = (LINK_c2dMapAddr)dlsym(mC2DLibHandle, "c2dMapAddr");
     mC2DUnMapAddr = (LINK_c2dUnMapAddr)dlsym(mC2DLibHandle, "c2dUnMapAddr");

     if (!mC2DCreateSurface || !mC2DUpdateSurface || !mC2DReadSurface
        || !mC2DDraw || !mC2DFlush || !mC2DFinish || !mC2DWaitTimestamp
        || !mC2DDestroySurface || !mC2DMapAddr || !mC2DUnMapAddr) {
         ALOGE("%s: dlsym ERROR", __FUNCTION__);
         mError = -1;
         return;
     }

    mSrcWidth = srcWidth;
    mSrcHeight = srcHeight;
    mDstWidth = dstWidth;
    mDstHeight = dstHeight;
    mSrcFormat = srcFormat;
    mDstFormat = dstFormat;
    mSrcSize = calcSize(srcFormat, srcWidth, srcHeight);
    mDstSize = calcSize(dstFormat, dstWidth, dstHeight);
    mSrcYSize = calcYSize(srcFormat, srcWidth, srcHeight);
    mDstYSize = calcYSize(dstFormat, dstWidth, dstHeight);
    mStride = stride;
    mFlags = flags; // can be used for rotation

    mSrcSurfaceDef = getDummySurfaceDef(srcFormat, srcWidth, srcHeight, true);
    mDstSurfaceDef = getDummySurfaceDef(dstFormat, dstWidth, dstHeight, false);

    memset((void*)&mBlit,0,sizeof(C2D_OBJECT));
    mBlit.source_rect.x = 0 << 16;
    mBlit.source_rect.y = 0 << 16;
    mBlit.source_rect.width = srcWidth << 16;
    mBlit.source_rect.height = srcHeight << 16;
    mBlit.target_rect.x = 0 << 16;
    mBlit.target_rect.y = 0 << 16;
    mBlit.target_rect.width = dstWidth << 16;
    mBlit.target_rect.height = dstHeight << 16;
    mBlit.config_mask = C2D_ALPHA_BLEND_NONE | C2D_NO_BILINEAR_BIT | C2D_NO_ANTIALIASING_BIT | C2D_TARGET_RECT_BIT;
    mBlit.surface_id = mSrcSurface;
}
开发者ID:stayboogy,项目名称:stayboogy_kk_condor,代码行数:56,代码来源:C2DColorConverter.cpp


示例5: calcSize

void CanvasNavigator::updateLoopRange()
{
    if(m_punchIn)
    {
        double lpos = calcSize(song->lpos());
        m_punchIn->setPos(QPointF(lpos, 0.0));
        m_punchIn->setVisible(song->loop() || song->punchin());
    }
    if(m_punchOut)
    {
        double rpos = calcSize(song->rpos());
        m_punchOut->setPos(QPointF(rpos, 0.0));
        m_punchOut->setVisible(song->loop() || song->punchout());
    }
}
开发者ID:falkTX,项目名称:los,代码行数:15,代码来源:CanvasNavigator.cpp


示例6: Part

bool SaveContainer::writePart(uint32 partN, const SavePart *part) {
	// Sanity checks
	if (!part)
		return false;
	if (partN >= _partCount)
		return false;

	Part *&p = _parts[partN];

	delete p;
	// Create the part
	p = new Part(part->getSize());

	Common::WriteStream *pStream = p->createWriteStream();

	// Write
	if (!part->write(*pStream)) {
		delete p;
		p = 0;

		delete pStream;
		return false;
	}

	delete pStream;

	// Update size
	_header.setSize(calcSize());

	return true;
}
开发者ID:St0rmcrow,项目名称:scummvm,代码行数:31,代码来源:savefile.cpp


示例7: formHTML

/**
 * Read the file and form the HTML -> MOVE TO UTILS
 **/
char* formHTML(struct fileInfo informator) {
	int len = calcSize(informator);
	if ((informator.fd = fopen(informator.filename, "rt")) != NULL ) {
		printf("> File Open Success \n");
		// get information regarding the img file
		if ((strcmp(informator.Context, "Content-Type: image/jpeg\r\n") == 0)
				|| (strcmp(informator.Context, "Content-Type: image/gif\r\n")
						== 0)) {
			printf("The size is [%d] \n", len);
			char* contents = (char*) malloc((sizeof(char) * len) + 1);
			contents[len + 1] = '\0';
			size_t bytes = fread(contents, sizeof(char), len, informator.fd);
			fclose(informator.fd);
			return contents;
		} else {
			// get info regarding the txt file
			printf("The size is [%d] \n", len);
			char* contents = (char*) malloc((sizeof(char) * len) + 2);
			size_t bytes = fread(contents, sizeof(char), len, informator.fd);
			contents[len + 2] = '\0';
			contents[len + 1] = '\n';
			contents[len] = '\r';
			fclose(informator.fd);
			return contents;
		}
	} else {
		printf("file open NOT A SUCCESS \n");
		return "";
	}
}
开发者ID:sparksmith,项目名称:Uni,代码行数:33,代码来源:server.c


示例8: fopen

void IntelHexImage::open(bool read)
{

	if (read)
	{
		/* NOTE: "t" mode do nothing on non-Windows platform!!! See also  IntelHexImage::read() */
		_file = fopen(_name.c_str(), "rt");
		if (_file == NULL)
			throw DEFileOpenFailed(_name, read);
		_size = calcSize();
	}
	else
	{
		/* NOTE: "t" mode do nothing on non-Windows platform!!! See also  IntelHexImage::write() */
		_file = fopen(_name.c_str(), "wt");
		if (_file == NULL)
			throw DEFileOpenFailed(_name, read);
		_size = 0;
	}
	_read = read;
	_readCurrent = 0;
	_readAddr = 0;
	_writeAddr = 0;
	_linAddr = 1; // LOW 16 bit MUST be nonzero at first time write() called
	_record.clear();
}
开发者ID:BrzTit,项目名称:dangerous-prototypes-open-hardware,代码行数:26,代码来源:intel_hex_image.cpp


示例9: guard

typename P::Value
cache<P>::read(const K & key)
{
    {
        vespalib::LockGuard guard(_hashLock);
        if (Lru::hasKey(key)) {
            _hit++;
            return (*this)[key];
        } else {
            _miss++;
        }
    }

    vespalib::LockGuard storeGuard(getLock(key));
    {
        vespalib::LockGuard guard(_hashLock);
        if (Lru::hasKey(key)) {
            // Somebody else just fetched it ahead of me.
            _race++;
            return (*this)[key];
        }
    }
    V value;
    if (_store.read(key, value)) {
        vespalib::LockGuard guard(_hashLock);
        Lru::insert(key, value);
        _sizeBytes += calcSize(key, value);
        _insert++;
    } else {
        _noneExisting.fetch_add(1);
    }
    return value;
}
开发者ID:songhtdo,项目名称:vespa,代码行数:33,代码来源:cache.hpp


示例10: calcSize

void TextPreview::setWins(const QList<FF8Window> &windows, bool update)
{
	ff8Windows = windows;
	if(update)
		calcSize();
	//qDebug() << "type" << window.type << "x" << window.x << "y" << window.y << "u1" << window.u1;
}
开发者ID:JeMaCheHi,项目名称:deling,代码行数:7,代码来源:TextPreview.cpp


示例11: calcSize

////////////////////////////
// kernel caller definitions
bool SURF_OCL::calcLayerDetAndTrace(int octave, int c_layer_rows)
{
    int nOctaveLayers = params->nOctaveLayers;
    const int min_size = calcSize(octave, 0);
    const int max_samples_i = 1 + ((img_rows - min_size) >> octave);
    const int max_samples_j = 1 + ((img_cols - min_size) >> octave);

    size_t localThreads[]  = {16, 16};
    size_t globalThreads[] =
    {
        divUp(max_samples_j, (int)localThreads[0]) * localThreads[0],
        divUp(max_samples_i, (int)localThreads[1]) * localThreads[1] * (nOctaveLayers + 2)
    };
    ocl::Kernel kerCalcDetTrace("SURF_calcLayerDetAndTrace", ocl::xfeatures2d::surf_oclsrc, kerOpts);
    if(haveImageSupport)
    {
        kerCalcDetTrace.args(sumTex,
                             img_rows, img_cols, nOctaveLayers,
                             octave, c_layer_rows,
                             ocl::KernelArg::WriteOnlyNoSize(det),
                             ocl::KernelArg::WriteOnlyNoSize(trace));
    }
    else
    {
        kerCalcDetTrace.args(ocl::KernelArg::ReadOnlyNoSize(sum),
                             img_rows, img_cols, nOctaveLayers,
                             octave, c_layer_rows,
                             ocl::KernelArg::WriteOnlyNoSize(det),
                             ocl::KernelArg::WriteOnlyNoSize(trace));
    }
    return kerCalcDetTrace.run(2, globalThreads, localThreads, true);
}
开发者ID:AWin9,项目名称:opencv_contrib,代码行数:34,代码来源:surf.ocl.cpp


示例12: XOJ_CHECK_TYPE

void Text::setText(String text) {
	XOJ_CHECK_TYPE(Text);

	this->text = text;

	calcSize();
}
开发者ID:yolanother,项目名称:Xournal,代码行数:7,代码来源:Text.cpp


示例13: mongo_gridfs_store

EXPORT int  mongo_gridfs_store(struct gridfs_* gfs, mxArray* data, char* remoteName, char* contentType) {
    uint64_t size;
    void* p;
    if (mxIsComplex(data))
        mexErrMsgTxt("GridFS:store - Complex values not supported");
    p = calcSize(data, &size);
    return (gridfs_store_buffer((gridfs*)gfs, (char*)p, size, remoteName, contentType) == MONGO_OK);
}
开发者ID:spacetruckin,项目名称:mongo-matlab-driver,代码行数:8,代码来源:api_gridfs.c


示例14: calcSize

	float TextField2::getMeasuredHeight()
	{
		if (mDirty)
		{
			calcSize();
		}
		return mMeasuredHeight;
	}
开发者ID:astrellon,项目名称:GPP,代码行数:8,代码来源:gfx_text_field2.cpp


示例15: remove

bool
cache<P>::removeOldest(const value_type & v) {
    bool remove(Lru::removeOldest(v) || (sizeBytes() >= capacityBytes()));
    if (remove) {
        _sizeBytes -= calcSize(v.first, v.second._value);
    }
    return remove;
}
开发者ID:songhtdo,项目名称:vespa,代码行数:8,代码来源:cache.hpp


示例16: init

// capture image from viewport
void ImageViewport::calcImage (unsigned int texId)
{
	// if scale was changed
	if (m_scaleChange)
		// reset image
		init(m_capSize[0], m_capSize[1]);
	// if texture wasn't initialized
	if (!m_texInit)
	{
		// initialize it
		loadTexture(texId, m_image, m_size);
		m_texInit = true;
	}
	// if texture can be directly created
	if (texId != 0 && m_pyfilter == NULL && m_capSize[0] == calcSize(m_capSize[0])
		&& m_capSize[1] == calcSize(m_capSize[1]) && !m_flip)
	{
		// just copy current viewport to texture
	    glBindTexture(GL_TEXTURE_2D, texId);
	    glCopyTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, m_upLeft[0], m_upLeft[1], (GLsizei)m_capSize[0], (GLsizei)m_capSize[1]);
	    // image is not available
	    m_avail = false;
	}
	// otherwise copy viewport to buffer, if image is not available
	else if (!m_avail)
	{
		// get frame buffer data
        if (m_alpha)
        {
    		glReadPixels(m_upLeft[0], m_upLeft[1], (GLsizei)m_capSize[0], (GLsizei)m_capSize[1], GL_RGBA,
			    GL_UNSIGNED_BYTE, m_viewportImage);
		    // filter loaded data
		    FilterRGBA32 filt;
		    filterImage(filt, m_viewportImage, m_capSize);
        } 
        else
        {
    		glReadPixels(m_upLeft[0], m_upLeft[1], (GLsizei)m_capSize[0], (GLsizei)m_capSize[1], GL_RGB,
	    		GL_UNSIGNED_BYTE, m_viewportImage);
    		// filter loaded data
		    FilterRGB24 filt;
		    filterImage(filt, m_viewportImage, m_capSize);
        }
	}
}
开发者ID:jinjoh,项目名称:NOOR,代码行数:46,代码来源:ImageViewport.cpp


示例17: calcSize

void
RangeSensorWidget::setGroup(CORBA::UShort _group)
{
  group_ = _group;
  scan_ = sensor_->getGroup(group_);
  calcSize();
  if (!timer_)
    timer_ = startTimer(40);  
  calcCaption();
}
开发者ID:BackupTheBerlios,项目名称:miro-middleware-svn,代码行数:10,代码来源:QtRangeSensor.cpp


示例18: ErrorException

void Area::insert(size_t dimOrdinal, const Set* elems, bool calc) {
  if (dimOrdinal >= area.size()) {
    throw ErrorException(ErrorException::ERROR_INTERNAL,
                         "Area::insert invalid dimOrdinal");
  }
  area[dimOrdinal] = elems;
  if (calc) {
    calcSize();
  }
}
开发者ID:jmeinke,项目名称:StOAP,代码行数:10,代码来源:Area.cpp


示例19: if

void ScaleBar::pointerButtonDown(GLMotif::Event& event)
	{
	Scalar newScale=currentScale;
	
	/* Check if the event happened in the left or right corner: */
	float relEventPos=(event.getWidgetPoint().getPoint()[0]-getInterior().origin[0])/getInterior().size[0];
	if(relEventPos<=0.333f)
		{
		/* Calculate the next smaller quasi-binary scale factor: */
		newScale=Scalar(getSmallerQuasiBinary(currentScale));
		}
	else if(relEventPos>=0.667f)
		{
		/* Calculate the next bigger quasi-binary scale factor: */
		newScale=Scalar(getBiggerQuasiBinary(currentScale));
		}
	
	if(newScale!=currentScale&&activateNavigationTool(reinterpret_cast<const Tool*>(this)))
		{
		/* Adjust the navigation transformation: */
		Scalar newNavScale;
		const Geometry::LinearUnit& unit=getCoordinateManager()->getUnit();
		if(unit.isImperial())
			{
			/* Calculate scale factor through imperial units: */
			newNavScale=getInchFactor()*newScale/unit.getInchFactor();
			}
		else
			{
			/* Calculate scale factor through metric units: */
			newNavScale=getMeterFactor()*newScale/unit.getMeterFactor();
			}
		
		/* Get the current navigation transformation and calculate the display center position in navigation coordinates: */
		const NavTransform& nav=getNavigationTransformation();
		Point center=nav.inverseTransform(getDisplayCenter());
		
		/* Create the new navigation transformation: */
		NavTransform newNav=NavTransform(nav.getTranslation(),nav.getRotation(),newNavScale);
		newNav.leftMultiply(NavTransform::translate(getDisplayCenter()-newNav.transform(center)));
		setNavigationTransformation(newNav);
		
		deactivateNavigationTool(reinterpret_cast<const Tool*>(this));
		currentScale=newScale;
		
		/* Update the scale bar: */
		calcSize(newNav);
		
		/* Resize the widget so that the clicked point stays in the same place: */
		GLMotif::Vector newSize=calcNaturalSize();
		GLfloat newInteriorWidth=newSize[0]-2.0f*getBorderWidth();
		GLfloat newOrigin=event.getWidgetPoint().getPoint()[0]-newInteriorWidth*relEventPos-getBorderWidth();
		resize(GLMotif::Box(GLMotif::Vector(newOrigin,0.0f,0.0f),newSize));
		}
	}
开发者ID:Doc-Ok,项目名称:OpticalTracking,代码行数:55,代码来源:ScaleBar.cpp


示例20: XOJ_CHECK_TYPE

double Element::getY()
{
	XOJ_CHECK_TYPE(Element);

	if (!this->sizeCalculated)
	{
		this->sizeCalculated = true;
		calcSize();
	}
	return y;
}
开发者ID:project-renard-survey,项目名称:xournalpp,代码行数:11,代码来源:Element.cpp



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ calc_checksum函数代码示例发布时间:2022-05-30
下一篇:
C++ calcHash函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap