Beispiel #1
0
int StateEditor()
{

	SDL_RenderClear(GetRenderer());
	UpdateMousePosition();
	UpdateEditorPanel(MainEditorPanels); 
	UpdateWorkspace();	
	DrawWorkspace();
	DrawEditorPanels(MainEditorPanels);
	NextFrame();
	return 0;

}
Beispiel #2
0
void Waveform::mouseMoved( wxMouseEvent& event)
{
    if(!mIsInitialized){return;}
    if (m_dragging)
    {
        if( m_drag_mode == DRAG_LEFT_EDGE )
        {
            mTimeline->SetSelectedPositionStart(event.GetX(), false);
        }
        else
        {
            mTimeline->SetSelectedPositionEnd(event.GetX());
        }
        Refresh(false);
        wxCommandEvent eventSelected(EVT_WAVE_FORM_HIGHLIGHT);
        eventSelected.SetInt(abs(mTimeline->GetNewStartTimeMS() - mTimeline->GetNewEndTimeMS()));
        wxPostEvent(mParent, eventSelected);
    }
    else
    {
        int selected_x1 = mTimeline->GetSelectedPositionStart();
        int selected_x2 = mTimeline->GetSelectedPositionEnd();
        if( event.GetX() >= selected_x1 && event.GetX() < selected_x1+6 )
        {
            SetCursor(wxCURSOR_POINT_LEFT);
            m_drag_mode = DRAG_LEFT_EDGE;
        }
        else if( event.GetX() > selected_x2-6 && event.GetX() <= selected_x2 )
        {
            SetCursor(wxCURSOR_POINT_RIGHT);
            m_drag_mode = DRAG_RIGHT_EDGE;
        }
        else
        {
            SetCursor(wxCURSOR_ARROW);
            m_drag_mode = DRAG_NORMAL;
        }
    }
    int mouseTimeMS = mTimeline->GetAbsoluteTimeMSfromPosition(event.GetX());
    UpdateMousePosition(mouseTimeMS);

    // Scrubbing
    if (_media != NULL && event.LeftIsDown() && event.ControlDown())
    {
        int msperpixel = std::max(1000 / GetTimeFrequency(), mTimeline->TimePerMajorTickInMS() / mTimeline->PixelsPerMajorTick());
        _media->Play(mouseTimeMS, msperpixel);
    }
}
Beispiel #3
0
void Waveform::mouseMoved( wxMouseEvent& event)
{
    if(!mIsInitialized){return;}
    if (m_dragging)
    {
        if( m_drag_mode == DRAG_LEFT_EDGE )
        {
            mTimeline->SetSelectedPositionStart(event.GetX(), false);
        }
        else
        {
            mTimeline->SetSelectedPositionEnd(event.GetX());
        }
        Refresh(false);
    }
    else
    {
        int selected_x1 = mTimeline->GetSelectedPositionStart();
        int selected_x2 = mTimeline->GetSelectedPositionEnd();
        if( event.GetX() >= selected_x1 && event.GetX() < selected_x1+6 )
        {
            SetCursor(wxCURSOR_POINT_LEFT);
            m_drag_mode = DRAG_LEFT_EDGE;
        }
        else if( event.GetX() > selected_x2-6 && event.GetX() <= selected_x2 )
        {
            SetCursor(wxCURSOR_POINT_RIGHT);
            m_drag_mode = DRAG_RIGHT_EDGE;
        }
        else
        {
            SetCursor(wxCURSOR_ARROW);
            m_drag_mode = DRAG_NORMAL;
        }
    }
    int mouseTimeMS = mTimeline->GetAbsoluteTimeMSfromPosition(event.GetX());
    UpdateMousePosition(mouseTimeMS);
}
Beispiel #4
0
void Waveform::mouseLeftWindow(wxMouseEvent& event)
{
    UpdateMousePosition(-1);
}