void CAWebViewImpl::update(float dt) { DRect cRect = _webView->convertRectToWorldSpace(_webView->getBounds()); cRect.origin.x = s_dip_to_px(cRect.origin.x); cRect.origin.y = s_dip_to_px(cRect.origin.y); cRect.size.width = s_dip_to_px(cRect.size.width); cRect.size.height = s_dip_to_px(cRect.size.height); setWebViewRectJNI(_viewTag, cRect.origin.x, cRect.origin.y, cRect.size.width, cRect.size.height); }
void CATextView::setContentSize(const DSize& contentSize) { CAView::setContentSize(contentSize); DSize worldContentSize = this->convertToWorldSize(m_obContentSize); DSize size; size.width = s_dip_to_px(worldContentSize.width); size.height = s_dip_to_px(worldContentSize.height); textViewSetTextViewSizeJNI(m_u__ID, size.width, size.height); }
void CATextView::update(float dt) { do { //CC_BREAK_IF(!CAApplication::getApplication()->isDrawing()); DPoint point = this->convertToWorldSpace(DPointZero); point.x = s_dip_to_px(point.x); point.y = s_dip_to_px(point.y); textViewSetTextViewPointJNI(m_u__ID, point.x, point.y); } while (0); }
void CATextView::setContentSize(const DSize& contentSize) { CAView::setContentSize(contentSize); DSize worldContentSize = this->convertToWorldSize(m_obContentSize); DSize size; size.width = s_dip_to_px(worldContentSize.width); size.height = s_dip_to_px(worldContentSize.height); textViewSetTextViewSizeJNI(m_u__ID, size.width, size.height); m_pBackgroundView->setFrame(this->getBounds()); m_pShowImageView->setFrame(this->getBounds()); }
void CATextView::update(float dt) { do { CC_BREAK_IF(!CAApplication::getApplication()->isDrawing()); DPoint point = this->convertToWorldSpace(DPointZero); CC_BREAK_IF(m_obLastPoint.equals(point)); point.x = s_dip_to_px(point.x); point.y = s_dip_to_px(point.y); } while (0); }
void CCEGLViewProtocol::setFrameSize(float width, float height) { m_obScreenSize = DSize(width, height); m_obDesignResolutionSize.setSize(s_px_to_dip(width), s_px_to_dip(height)); m_fScale = s_dip_to_px(1.0f); m_obViewPortRect.setRect(0, 0, m_obScreenSize.width, m_obScreenSize.height); }
void CAView::visit() { CC_RETURN_IF(!m_bVisible); kmGLPushMatrix(); this->transform(); bool isScissor = (bool)glIsEnabled(GL_SCISSOR_TEST); DRect restoreScissorRect = DRectZero; if (isScissor) { GLfloat params[4]; glGetFloatv(GL_SCISSOR_BOX, params); restoreScissorRect = DRect(params[0], params[1], params[2], params[3]); } if (!m_bDisplayRange) { kmMat4 modelview; kmGLGetMatrix(KM_GL_MODELVIEW, &modelview); kmMat4 tm; kmMat4Identity(&tm); tm.mat[12] = m_obContentSize.width; tm.mat[13] = m_obContentSize.height; kmMat4 tm2; kmMat4Multiply(&tm2, &modelview, &tm); DPoint point = DPoint(modelview.mat[12], modelview.mat[13]); static CAApplication* application = CAApplication::getApplication(); if (application->getProjection() == CAApplication::P3D) { point = ccpAdd(point, application->getWinSize() / 2); } DSize size = DSize(tm2.mat[12] - modelview.mat[12], tm2.mat[13] - modelview.mat[13]); DRect frame = DRect(point.x, point.y, size.width, size.height); if (isScissor) { float x1 = MAX(s_dip_to_px(frame.getMinX()), restoreScissorRect.getMinX()); float y1 = MAX(s_dip_to_px(frame.getMinY()), restoreScissorRect.getMinY()); float x2 = MIN(s_dip_to_px(frame.getMaxX()) + 0.5f, restoreScissorRect.getMaxX()); float y2 = MIN(s_dip_to_px(frame.getMaxY()) + 0.5f, restoreScissorRect.getMaxY()); float width = MAX(x2-x1, 0); float height = MAX(y2-y1, 0); glScissor(x1, y1, width, height); } else { glEnable(GL_SCISSOR_TEST); glScissor(s_dip_to_px(frame.origin.x), s_dip_to_px(frame.origin.y), s_dip_to_px(frame.size.width) + 0.5f, s_dip_to_px(frame.size.height) + 0.5f); } } this->sortAllSubviews(); CAVector<CAView*>::iterator itr=m_obSubviews.begin(); while (itr!=m_obSubviews.end()) { CC_BREAK_IF((*itr)->m_nZOrder >= 0); (*itr)->visit(); itr++; } this->draw(); while (itr!=m_obSubviews.end()) { (*itr)->visit(); itr++; } //m_uOrderOfArrival = 0; if (!m_bDisplayRange) { if (isScissor) { glScissor(restoreScissorRect.origin.x, restoreScissorRect.origin.y , restoreScissorRect.size.width, restoreScissorRect.size.height); } else { glDisable(GL_SCISSOR_TEST); } } kmGLPopMatrix(); }