예제 #1
0
//----------------------------------------------------------------------------------
//
//----------------------------------------------------------------------------------
void ManagerImplemented::UpdateHandle( Handle handle, float deltaFrame )
{
	std::map<Handle,DrawSet>::iterator it = m_DrawSets.find( handle );
	if( it != m_DrawSets.end() )
	{
		DrawSet& drawSet = it->second;

		UpdateHandle( drawSet, deltaFrame );
	}
}
예제 #2
0
void TBSlider::SetLimits(double min, double max)
{
	min = MIN(min, max);
	if (min == m_min && max == m_max)
		return;
	m_min = min;
	m_max = max;
	SetValueDouble(m_value);
	UpdateHandle();
}
예제 #3
0
void TBSlider::SetValueDouble(double value)
{
	value = CLAMP(value, m_min, m_max);
	if (value == m_value)
		return;
	m_value = value;

	UpdateHandle();
	TBWidgetEvent ev(EVENT_TYPE_CHANGED);
	InvokeEvent(ev);
}
예제 #4
0
/*----------------------------------------------------------------------------
>  Function Name: RtStatus_t FileRemove(int32_t RecordNumber,int32_t HandleNumber)

   FunctionType:  Reentrant

   Inputs:        1) Record Number
                  2) Handle Number  

   Outputs:       Returns SUCCESS on success else an Error Code 
                   
   Description:   Updates the handle to associate with the file to be deleted and
                  deletes the contents of the file i.e. marks all the clusters occupied by 
	              the file as zero in FAT Table.

<
----------------------------------------------------------------------------*/
RtStatus_t FileRemove(int32_t RecordNumber, int32_t HandleNumber)
{
    RtStatus_t RetValue = SUCCESS;
    uint8_t Buffer[32];
    int32_t ClusterNumber = 0, FileSize;
    HandleTable_t Temp;
    //  int64_t lTemp;

    Temp = Handle[HandleNumber];

    if (Handle[HandleNumber].StartingCluster != 0) {
        if ((RetValue = Fseek(HandleNumber, -DIRRECORDSIZE, SEEK_CUR)))
            return RetValue;
    }

    if (ReadDirectoryRecord(HandleNumber, RecordNumber, Buffer) < 0)
        return ERROR_OS_FILESYSTEM_NO_MATCHING_RECORD;

    if (Handle[HandleNumber].StartingCluster != 0) {
        if ((RetValue = Fseek(HandleNumber, -DIRRECORDSIZE, SEEK_CUR)))
            return RetValue;
    }

    if ((RetValue = DeleteRecord(HandleNumber, RecordNumber)) < 0)
        return RetValue;

    /* Set the Handle to original position */
    if ((RetValue = Fseek(HandleNumber, (RecordNumber * DIRRECORDSIZE), SEEK_SET)) < 0)
        return RetValue;

    FileSize = FSGetDWord(Buffer, DIR_FILESIZEOFFSET);

    // sdk2.6 changed this to left shift instead of right shift. 
    ClusterNumber =
        ((FSGetWord(Buffer, DIR_FSTCLUSLOOFFSET)) | (FSGetWord(Buffer, DIR_FSTCLUSHIOFFSET) << 16));

    if (((FSGetByte(Buffer, DIR_ATTRIBUTEOFFSET)) & DIRECTORY_MODE) == DIRECTORY_MODE)
        FileSize = 0x7fffffff;

    if ((ClusterNumber != 0) && (FileSize) != 0) {
        /* update the handle to associate with the file to be deleted */
        UpdateHandle(HandleNumber, ClusterNumber);

        /* Delete the contents of the file (i.e. Mark all the clusters occupied by 
           the file as zero in FAT Table) */
        if ((RetValue = DeleteContent(HandleNumber, 0)) < 0)
            return RetValue;
    }
    Handle[HandleNumber] = Temp;

    return SUCCESS;
}
예제 #5
0
//----------------------------------------------------------------------------------
//
//----------------------------------------------------------------------------------
void ManagerImplemented::Update( float deltaFrame )
{
	BeginUpdate();

	// 開始時間を記録
	int64_t beginTime = ::Effekseer::GetTime();

	for( size_t i = 0; i < m_renderingDrawSets.size(); i++ )
	{
		DrawSet& drawSet = m_renderingDrawSets[i];
		
		UpdateHandle( drawSet, deltaFrame );
	}

	// 経過時間を計算
	m_updateTime = (int)(Effekseer::GetTime() - beginTime);

	EndUpdate();
}
예제 #6
0
void TBScrollBar::SetLimits(double min, double max, double visible)
{
	max = MAX(min, max);
	visible = MAX(visible, 0.0);
	if (min == m_min && max == m_max && m_visible == visible)
		return;
	m_min = min;
	m_max = max;
	m_visible = visible;
	SetValueDouble(m_value);

	// If we're currently dragging the scrollbar handle, convert the down point
	// to root and then back after the applying the new limit.
	// This prevents sudden jumps to unexpected positions when scrolling.
	if (captured_widget == &m_handle)
		m_handle.ConvertToRoot(pointer_down_widget_x, pointer_down_widget_y);

	UpdateHandle();

	if (captured_widget == &m_handle)
		m_handle.ConvertFromRoot(pointer_down_widget_x, pointer_down_widget_y);
}
예제 #7
0
void TBSlider::OnResized(int old_w, int old_h)
{
	UpdateHandle();
}
예제 #8
0
void TBScrollBar::OnResized(int old_w, int old_h)
{
	UpdateHandle();
}
예제 #9
0
void	AxisSweep3::SetAabb(BroadphaseProxy* proxy,const SimdVector3& aabbMin,const SimdVector3& aabbMax)
{
	Handle* handle = static_cast<Handle*>(proxy);
	UpdateHandle(handle->m_handleId,aabbMin,aabbMax);
}
예제 #10
0
/*----------------------------------------------------------------------------
>  Function Name: RtStatus_t ChangeToLowLevelDir(int32_t HandleNumber,FindData_t *_finddata,int32_t StartingCluster)

   FunctionType:  Reentrant

   Inputs:        1) Handle Number
                  2) FindData_t Structure  
                  3) Starting Cluster

   Outputs:       Returns SUCCESS on success else an Error Code
                   
   Description:   Changes to low level directory if available within the given directory 
                  and updates the Handle
<
----------------------------------------------------------------------------*/
RtStatus_t ChangeToLowLevelDir(int32_t HandleNumber, FindData_t * _finddata,
                               int32_t StartingCluster)
{
    RtStatus_t RetValue = SUCCESS;
    int32_t RecordNumber;
    uint8_t Buffer[32];
    int32_t ClusterNumber = 0;
    uint8_t Buf[5];
    // int64_t lTemp;

    PutWord(Buf, 0x2e2e, 0);

    if ((RetValue = Fseek(HandleNumber, -DIRRECORDSIZE, SEEK_CUR)))
        return RetValue;

    if ((RetValue = Isdirectoryempty(HandleNumber)) == SUCCESS) {
        if ((ReadDirectoryRecord(HandleNumber, 0, Buffer)) <= 0)
            return ERROR_OS_FILESYSTEM_NO_MATCHING_RECORD;

        // sdk2.6 changed this from right shift to a left shift.   
        ClusterNumber =
            ((FSGetWord(Buffer, DIR_FSTCLUSLOOFFSET)) |
             (FSGetWord(Buffer, DIR_FSTCLUSHIOFFSET) << 16));

        if ((RetValue = Fseek(HandleNumber, 0, SEEK_SET)) < 0)
            return RetValue;

        if ((RetValue = Chdir((uint8_t *) & Buf)) < 0)
            return RetValue;

        Handle[HandleNumber] = Handle[CWD_HANDLE];

        if ((RecordNumber = DelGetRecordNumber(HandleNumber, ClusterNumber)) < 0)
            return ERROR_OS_FILESYSTEM_NO_MATCHING_RECORD;

        if ((RetValue = FileRemove(RecordNumber, HandleNumber)) < 0)
            return RetValue;

        if (Handle[HandleNumber].StartingCluster ==
            MediaTable[Handle[HandleNumber].Device].RootdirCluster
            || Handle[HandleNumber].StartingCluster == StartingCluster)
            return ERROR_OS_FILESYSTEM_DIR_NOT_REMOVABLE;

        return SUCCESS;
    }

    if ((ReadDirectoryRecord(HandleNumber, (_finddata->startrecord - 1), Buffer)) <= 0)
        return ERROR_OS_FILESYSTEM_NO_MATCHING_RECORD;

    if ((RetValue = Fseek(HandleNumber, -DIRRECORDSIZE, SEEK_CUR)))
        return RetValue;

    // sdk2.6 changed this from a right shift to a left shift.
    ClusterNumber =
        ((FSGetWord(Buffer, DIR_FSTCLUSLOOFFSET)) | (FSGetWord(Buffer, DIR_FSTCLUSHIOFFSET) << 16));

    UpdateHandle(HandleNumber, ClusterNumber);

    Handle[CWD_HANDLE] = Handle[HandleNumber];

    return SUCCESS;
}