mirror of
https://github.com/ONLYOFFICE/core.git
synced 2026-04-07 13:55:33 +08:00
git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@54075 954022d7-b5bf-4e40-9824-e11837661b57
This commit is contained in:
committed by
Alexander Trofimov
parent
e5cae73e25
commit
0a368e39d5
@ -72,6 +72,32 @@ public:
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL Add()
|
||||
{
|
||||
if (m_nSize == m_nAllocSize)
|
||||
{
|
||||
int nNewAllocSize = (m_nAllocSize == 0) ? 1 : (m_nSize * 2);
|
||||
|
||||
T* newT = new T[nNewAllocSize];
|
||||
|
||||
if (NULL == newT)
|
||||
return FALSE;
|
||||
|
||||
m_nAllocSize = nNewAllocSize;
|
||||
|
||||
if (m_nSize != 0)
|
||||
{
|
||||
for (int i = 0; i < m_nSize; ++i)
|
||||
newT[i] = m_aT[i];
|
||||
}
|
||||
|
||||
RELEASEARRAYOBJECTS(m_aT);
|
||||
m_aT = newT;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL Add(const T& t)
|
||||
{
|
||||
if (m_nSize == m_nAllocSize)
|
||||
@ -108,6 +134,24 @@ public:
|
||||
m_nSize--;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOL RemoveAt(int nIndex, int nCount)
|
||||
{
|
||||
if (nIndex < 0 || nIndex >= m_nSize || nCount < 1)
|
||||
return FALSE;
|
||||
|
||||
if ((nIndex + nCount) > m_nSize)
|
||||
nCount = m_nSize - nIndex;
|
||||
|
||||
for (int i = 0; i < nCount; ++i)
|
||||
m_aT[nIndex + i].~T();
|
||||
|
||||
if ((nIndex + nCount) != m_nSize)
|
||||
memmove_s((void*)(m_aT + nIndex), (m_nSize - nIndex - nCount + 1) * sizeof(T), (void*)(m_aT + nIndex + nCount), (m_nSize - (nIndex + nCount)) * sizeof(T));
|
||||
m_nSize--;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void RemoveAll()
|
||||
{
|
||||
if (m_aT != NULL)
|
||||
|
||||
@ -289,7 +289,7 @@ namespace NSFile
|
||||
}
|
||||
}
|
||||
|
||||
lOutputCount = pCodesCur - pData;
|
||||
lOutputCount = (LONG)(pCodesCur - pData);
|
||||
}
|
||||
|
||||
static void GetUtf8StringFromUnicode_2bytes(const wchar_t* pUnicodes, LONG lCount, BYTE*& pData, LONG& lOutputCount, bool bIsBOM = false)
|
||||
@ -360,7 +360,7 @@ namespace NSFile
|
||||
}
|
||||
}
|
||||
|
||||
lOutputCount = pCodesCur - pData;
|
||||
lOutputCount = (LONG)(pCodesCur - pData);
|
||||
}
|
||||
|
||||
static void GetUtf8StringFromUnicode(const wchar_t* pUnicodes, LONG lCount, BYTE*& pData, LONG& lOutputCount, bool bIsBOM = false)
|
||||
|
||||
@ -39,6 +39,19 @@ typedef int INT;
|
||||
typedef unsigned int UINT, *PUINT;
|
||||
typedef wchar_t WCHAR;
|
||||
|
||||
#if (!defined (_MAC) && (!defined(MIDL_PASS) || defined(__midl)) && (!defined(_M_IX86) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64)))
|
||||
typedef __int64 T_LONG64;
|
||||
typedef unsigned __int64 T_ULONG64;
|
||||
#else
|
||||
#if defined(_MAC) && defined(_MAC_INT_64)
|
||||
typedef __int64 T_LONG64;
|
||||
typedef unsigned __int64 T_ULONG64;
|
||||
#else
|
||||
typedef double T_LONG64;
|
||||
typedef double T_ULONG64;
|
||||
#endif //_MAC and int64
|
||||
#endif
|
||||
|
||||
#ifndef VOID
|
||||
typedef void VOID, *LPVOID;
|
||||
#endif
|
||||
|
||||
@ -93,6 +93,7 @@ public:
|
||||
|
||||
typedef PointF_T<REAL> PointF;
|
||||
typedef PointF_T<int> Point;
|
||||
typedef PointF_T<double> PointD;
|
||||
|
||||
template <typename T>
|
||||
class RectF_T
|
||||
@ -106,10 +107,10 @@ public:
|
||||
void GetLocation(PointF_T<T>* point) const { point->X = X; point->Y = Y; }
|
||||
void GetSize(SizeF_T<T>* size) const { size->Width = Width; size->Height = Height; }
|
||||
void GetBounds(RectF_T* rect) const { rect->X = X; rect->Y = Y; rect->Width = Width; rect->Height = Height; }
|
||||
T GetLeft() const { return X; }
|
||||
T GetTop() const { return Y; }
|
||||
T GetRight() const { return X+Width; }
|
||||
T GetBottom() const { return Y+Height; }
|
||||
inline T GetLeft() const { return X; }
|
||||
inline T GetTop() const { return Y; }
|
||||
inline T GetRight() const { return X+Width; }
|
||||
inline T GetBottom() const { return Y+Height; }
|
||||
BOOL IsEmptyArea() const { return (Width <= (T)REAL_EPSILON) || (Height <= (T)REAL_EPSILON); }
|
||||
BOOL Equals(const RectF_T & rect) const
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user