void PageItem_NoteFrame::layout()
{
	if (!invalid || l_notes.isEmpty())
		return;
	if (!m_Doc->flag_layoutNotesFrames)
		return;
	if (itemText.length() == 0)
		return;
	if ((masterFrame() != NULL) && masterFrame()->invalid)
		return;

	//while layouting notes frames undo should be disabled
	UndoManager::instance()->setUndoEnabled(false);

	if (m_nstyle->isAutoNotesWidth() && (m_width != m_masterFrame->width()))
	{
		oldWidth = m_width = m_masterFrame->width();
		updateClip();
	}

	if ((m_Doc->appMode == modeEdit) && isSelected())
		updateNotesText();

	PageItem_TextFrame::layout();
	int oldH = m_height;
	if (notesStyle()->isAutoNotesHeight())
	{
		if (frameOverflows())
		{
			//increase height while text don`t fit in frame
			double maxH = m_Doc->currentPage()->height() - m_xPos;
			while (frameOverflows())
			{
				oldHeight = m_height += 8;
				updateClip(false);
				invalid = true;
				PageItem_TextFrame::layout();
				if (m_height >= maxH)
					break;
			}
		}
		double hackValue = 0.5;
		oldHeight = m_height = ceil(maxY) + m_textDistanceMargins.bottom() + hackValue;
		updateConstants();
		updateClip();
		invalid = true;
		PageItem_TextFrame::layout();
	}
	if (oldH != height())
	{
		if (masterFrame() != NULL)
		{
			foreach(PageItem_NoteFrame* nF, masterFrame()->notesFramesList())
				nF->invalid = true;
		}
	}
	invalid = false;
	m_Doc->regionsChanged()->update(getBoundingRect());
	UndoManager::instance()->setUndoEnabled(true);
}
	void CCursor_Windows::clipClientRect(const bool clip)
	{
		if (clip != m_clipClientRect)
		{
			updateClip();
		}

		m_clipClientRect = clip;
	}
void QCairoPaintEngine::updateState(const QPaintEngineState &state)
{
    if (!cr || !surface) {
        qDebug()<<"Cairo Error [QCairoPaintEngine::updateState]: no cairo or no surface!";
        return;
    }
    cdirtyflags=cdirtyflags|state.state();
    if ((state.state()&QPaintEngine::DirtyTransform)==QPaintEngine::DirtyTransform) {
        cmatrix=state.matrix();
        cdirtyflags=cdirtyflags&(~QPaintEngine::DirtyTransform);
    }
    if ((state.state()&QPaintEngine::DirtyPen)==QPaintEngine::DirtyPen) {
        //qDebug()<<"updateState "<<state.state()<<state.pen();
        cpen=state.pen();
        cdirtyflags=cdirtyflags&(~QPaintEngine::DirtyPen);
    }
    if ((state.state()&QPaintEngine::DirtyBrush)==QPaintEngine::DirtyBrush) {
        cbrush=state.brush();
        cdirtyflags=cdirtyflags&(~QPaintEngine::DirtyBrush);
    }
    if ((state.state()&QPaintEngine::DirtyFont)==QPaintEngine::DirtyFont) {
        cfont=state.font();
        cdirtyflags=cdirtyflags&(~QPaintEngine::DirtyFont);
    }
    if (((state.state()&QPaintEngine::DirtyClipRegion)==QPaintEngine::DirtyClipRegion)) {
        cclipregion=state.clipRegion();
        updateClip();
        cdirtyflags=cdirtyflags&(~QPaintEngine::DirtyClipRegion);
    }
    if (((state.state()&QPaintEngine::DirtyClipPath)==QPaintEngine::DirtyClipPath)) {
        cclippath=state.clipPath();
        updateClip();
        cdirtyflags=cdirtyflags&(~QPaintEngine::DirtyClipPath);
    }
    if (((state.state()&QPaintEngine::DirtyClipEnabled)==QPaintEngine::DirtyClipEnabled)) {
        cclipenabled=state.isClipEnabled();
        updateClip();
        cdirtyflags=cdirtyflags&(~QPaintEngine::DirtyClipEnabled);
    }
    updateMatrix();
    /*updateBrush();
    updatePen();
    updateFont();*/
}
Beispiel #4
0
void TimelineComponent::addTimelineClip (TimelineClip* clip, int track)
{
    if (clip == nullptr)
        return;

    freeClips.removeObject (clip, false);
    addAndMakeVisible (clip);
    clips.addIfNotAlreadyThere (clip);
    // clip->setTrackIndex (track, true);
    updateClip (clip);
}
Beispiel #5
0
void TimelineComponent::handleAsyncUpdate()
{
    for (int i = 0; i < clips.size(); ++i)
    {
		TimelineClip* const clip = clips.getUnchecked(i);
        if (clip->isShowing()) {
            updateClip (clip);

            clip->setBounds (clip->getBounds());
            clip->repaint();
        }
    }

    repaint();
}
	void CCursor_Windows::update()
	{
		updateClip();

		POINT screenPos;

		if (const auto touchPos = dynamic_cast<CMouse_Windows*>(Siv3DEngine::GetMouse())->getPrimaryTouchPos())
		{
			screenPos.x = touchPos->x;
			screenPos.y = touchPos->y;
		}
		else
		{
			::GetCursorPos(&screenPos);
		}
		
		m_screen.previous = m_screen.current;
		m_screen.current.set(screenPos.x, screenPos.y);
		m_screen.delta = m_screen.current - m_screen.previous;

		POINT clientPos = screenPos;
		::ScreenToClient(m_hWnd, &clientPos);
		m_client_raw.previous = m_client_raw.current;
		m_client_raw.current.set(clientPos.x, clientPos.y);
		m_client_raw.delta = m_client_raw.current - m_client_raw.previous;

		m_client_transformedF.previous = m_client_transformedF.current;
		m_client_transformedF.current = m_transformAllInv.transform(m_client_raw.current);
		m_client_transformedF.delta = m_client_transformedF.current - m_client_transformedF.previous;

		m_client_transformed.previous = m_client_transformedF.previous.asPoint();
		m_client_transformed.current = m_client_transformedF.current.asPoint();
		m_client_transformed.delta = m_client_transformedF.delta.asPoint();

		::SetCursor(m_cursorStyles[static_cast<size_t>(m_curerntCursorStyle)]);
	}
Beispiel #7
0
void ViewVolume::updateFrame() {
    updateClip();
    updateFrustum();
}
Beispiel #8
0
void ViewVolume::updateFrame(float proj[16], float mdl[16]) {
    setModel(mdl);
    setProjection(proj);
    updateClip();
    updateFrustum();
}