Sync with trunk 48067

svn path=/branches/reactos-yarotows/; revision=48068
This commit is contained in:
Jérôme Gardou 2010-07-15 20:49:51 +00:00
commit f819794d7d
24 changed files with 1063 additions and 279 deletions

View file

@ -555,7 +555,6 @@ static BOOL Ping(VOID)
}
if (Status == SOCKET_ERROR)
{
LostCount++;
if (WSAGetLastError() == WSAEHOSTUNREACH)
printf("Destination host unreachable.\n");
else

View file

@ -299,17 +299,6 @@ LRESULT CALLBACK AddressBarProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPar
return CallWindowProc(oldwndproc, hwnd, uMsg, wParam, lParam);
}
/* fix coords to top-left when SHIFT-F10 is pressed */
void FixPointIfContext(POINTS *pt, HWND hWnd)
{
if (pt->x == -1 && pt->y == -1) {
POINT p = { 0, 0 };
ClientToScreen(hWnd, &p);
pt->x = (WORD)(p.x);
pt->y = (WORD)(p.y);
}
}
/*******************************************************************************
*
* FUNCTION: ChildWndProc(HWND, unsigned, WORD, LONG)
@ -577,16 +566,29 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
case WM_CONTEXTMENU:
{
POINTS pt;
POINT pt;
if((HWND)wParam == pChildWnd->hListWnd)
{
int i, cnt;
BOOL IsDefault;
pt.x = LOWORD(lParam);
pt.y = HIWORD(lParam);
pt.x = (short) LOWORD(lParam);
pt.y = (short) HIWORD(lParam);
cnt = ListView_GetSelectedCount(pChildWnd->hListWnd);
i = ListView_GetNextItem(pChildWnd->hListWnd, -1, LVNI_FOCUSED | LVNI_SELECTED);
FixPointIfContext(&pt, pChildWnd->hListWnd);
if (pt.x == -1 && pt.y == -1)
{
RECT rc;
if (i != -1)
{
rc.left = LVIR_BOUNDS;
SendMessage(pChildWnd->hListWnd, LVM_GETITEMRECT, i, (LPARAM) &rc);
pt.x = rc.left + 8;
pt.y = rc.top + 8;
}
else
pt.x = pt.y = 0;
}
ClientToScreen(pChildWnd->hListWnd, &pt);
if(i == -1)
{
TrackPopupMenu(GetSubMenu(hPopupMenus, PM_NEW), TPM_RIGHTBUTTON, pt.x, pt.y, 0, hFrameWnd, NULL);
@ -620,14 +622,33 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
int iLastPos;
WORD wID;
pt.x = LOWORD(lParam);
pt.y = HIWORD(lParam);
hti.pt.x = pt.x;
hti.pt.y = pt.y;
ScreenToClient(pChildWnd->hTreeWnd, &hti.pt);
(void)TreeView_HitTest(pChildWnd->hTreeWnd, &hti);
pt.x = (short) LOWORD(lParam);
pt.y = (short) HIWORD(lParam);
if ((hti.flags & TVHT_ONITEM) != 0 || (pt.x == -1 && pt.y == -1))
if (pt.x == -1 && pt.y == -1)
{
RECT rc;
hti.hItem = TreeView_GetSelection(pChildWnd->hTreeWnd);
if (hti.hItem != NULL)
{
TreeView_GetItemRect(pChildWnd->hTreeWnd, hti.hItem, &rc, TRUE);
pt.x = rc.left + 8;
pt.y = rc.top + 8;
ClientToScreen(pChildWnd->hTreeWnd, &pt);
hti.flags = TVHT_ONITEM;
}
else
hti.flags = 0;
}
else
{
hti.pt.x = pt.x;
hti.pt.y = pt.y;
ScreenToClient(pChildWnd->hTreeWnd, &hti.pt);
(void)TreeView_HitTest(pChildWnd->hTreeWnd, &hti);
}
if (hti.flags & TVHT_ONITEM)
{
hContextMenu = GetSubMenu(hPopupMenus, PM_TREECONTEXT);
(void)TreeView_SelectItem(pChildWnd->hTreeWnd, hti.hItem);
@ -688,7 +709,6 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa
s += _tcslen(s) + 1;
}
}
FixPointIfContext(&pt, pChildWnd->hTreeWnd);
TrackPopupMenu(hContextMenu, TPM_RIGHTBUTTON, pt.x, pt.y, 0, pChildWnd->hWnd, NULL);
}
}

View file

@ -44,6 +44,10 @@ typedef struct
INT CaretCol;
INT CaretLine;
BOOL InMid;
INT SelStart;
INT SelEnd;
BOOL SelOnField;
} HEXEDIT_DATA, *PHEXEDIT_DATA;
/* hit test codes */
@ -181,13 +185,25 @@ static VOID
HEXEDIT_PaintLines(PHEXEDIT_DATA hed, HDC hDC, DWORD ScrollPos, DWORD First, DWORD Last, RECT *rc)
{
DWORD dx, dy, linestart;
INT x;
INT i, isave, i0, i1, x;
PBYTE buf, current, end, line;
size_t bufsize;
TCHAR hex[3], addr[17];
RECT rct;
RECT rct, rct2;
FillRect(hDC, rc, (HBRUSH)(COLOR_WINDOW + 1));
SetTextColor(hDC, GetSysColor(COLOR_WINDOWTEXT));
if (hed->SelStart < hed->SelEnd)
{
i0 = hed->SelStart;
i1 = hed->SelEnd;
}
else
{
i0 = hed->SelEnd;
i1 = hed->SelStart;
}
if(hed->hBuffer)
{
@ -212,9 +228,11 @@ HEXEDIT_PaintLines(PHEXEDIT_DATA hed, HDC hDC, DWORD ScrollPos, DWORD First, DWO
end = buf + bufsize;
dy = First * hed->LineHeight;
linestart = (ScrollPos + First) * hed->ColumnsPerLine;
i = linestart;
current = buf + linestart;
Last = min(hed->nLines - ScrollPos, Last);
SetBkMode(hDC, TRANSPARENT);
while(First <= Last && current < end)
{
DWORD dh;
@ -236,25 +254,54 @@ HEXEDIT_PaintLines(PHEXEDIT_DATA hed, HDC hDC, DWORD ScrollPos, DWORD First, DWO
/* draw hex map */
dx += (hed->CharWidth / 2);
line = current;
isave = i;
for(x = 0; x < hed->ColumnsPerLine && current < end; x++)
{
rct.left += dh;
rct.right += dh;
_stprintf(hex, _T("%02X"), *(current++));
ExtTextOut(hDC, dx, dy, ETO_OPAQUE, &rct, hex, 2, NULL);
if (i0 <= i && i < i1)
{
rct2.left = dx;
rct2.top = dy;
rct2.right = dx + hed->CharWidth * 2 + 1;
rct2.bottom = dy + hed->LineHeight;
InflateRect(&rct2, hed->CharWidth / 2, 0);
FillRect(hDC, &rct2, (HBRUSH)(COLOR_HIGHLIGHT + 1));
SetTextColor(hDC, GetSysColor(COLOR_HIGHLIGHTTEXT));
ExtTextOut(hDC, dx, dy, 0, &rct, hex, 2, NULL);
SetTextColor(hDC, GetSysColor(COLOR_WINDOWTEXT));
}
else
ExtTextOut(hDC, dx, dy, ETO_OPAQUE, &rct, hex, 2, NULL);
dx += dh;
i++;
}
/* draw ascii map */
dx = ((4 + hed->AddressSpacing + hed->SplitSpacing + (hed->ColumnsPerLine * 3)) * hed->CharWidth);
current = line;
i = isave;
for(x = 0; x < hed->ColumnsPerLine && current < end; x++)
{
_stprintf(hex, _T("%C"), *(current++));
hex[0] = ((hex[0] & _T('\x007f')) >= _T(' ') ? hex[0] : _T('.'));
TextOut(hDC, dx, dy, hex, 1);
if (i0 <= i && i < i1)
{
rct2.left = dx;
rct2.top = dy;
rct2.right = dx + hed->CharWidth;
rct2.bottom = dy + hed->LineHeight;
FillRect(hDC, &rct2, (HBRUSH)(COLOR_HIGHLIGHT + 1));
SetTextColor(hDC, GetSysColor(COLOR_HIGHLIGHTTEXT));
TextOut(hDC, dx, dy, hex, 1);
SetTextColor(hDC, GetSysColor(COLOR_WINDOWTEXT));
}
else
TextOut(hDC, dx, dy, hex, 1);
dx += hed->CharWidth;
i++;
}
dy += hed->LineHeight;
@ -291,14 +338,14 @@ HEXEDIT_HitRegionTest(PHEXEDIT_DATA hed, POINTS pt)
}
pt.x -= d;
d = (3 * hed->ColumnsPerLine * hed->CharWidth);
d = ((3 * hed->ColumnsPerLine + 1) * hed->CharWidth);
if(pt.x <= d)
{
return HEHT_HEXDUMP;
}
pt.x -= d;
d = (hed->SplitSpacing * hed->CharWidth);
d = ((hed->SplitSpacing - 1) * hed->CharWidth);
if(pt.x <= d)
{
return HEHT_HEXDUMPSPACING;
@ -501,7 +548,6 @@ HEXEDIT_WM_NCCREATE(HWND hWnd, CREATESTRUCT *cs)
hed->AddressSpacing = 2;
hed->SplitSpacing = 2;
hed->EditingField = TRUE; /* in hexdump field */
hed->InMid = FALSE;
SetWindowLongPtr(hWnd, 0, (DWORD_PTR)hed);
HEXEDIT_Update(hed);
@ -689,7 +735,7 @@ HEXEDIT_WM_PAINT(PHEXEDIT_DATA hed)
FillRect(ps.hdc, &rc, (HBRUSH)(COLOR_WINDOW + 1));
goto epaint;
}
if(!(hbmp = CreateCompatibleBitmap(hTempDC, ps.rcPaint.right, ps.rcPaint.bottom)))
if(!(hbmp = CreateCompatibleBitmap(ps.hdc, ps.rcPaint.right, ps.rcPaint.bottom)))
{
FillRect(ps.hdc, &rc, (HBRUSH)(COLOR_WINDOW + 1));
DeleteDC(hTempDC);
@ -705,7 +751,7 @@ HEXEDIT_WM_PAINT(PHEXEDIT_DATA hed)
DeleteObject(hbmp);
DeleteDC(hTempDC);
epaint:
epaint:
EndPaint(hed->hWndSelf, &ps);
}
@ -755,27 +801,85 @@ HEXEDIT_WM_LBUTTONDOWN(PHEXEDIT_DATA hed, INT Buttons, POINTS Pt)
{
BOOL NewField;
POINT EditPos;
DWORD Hit = HEXEDIT_HitRegionTest(hed, Pt);
DWORD Hit;
UNREFERENCED_PARAMETER(Buttons);
SetFocus(hed->hWndSelf);
hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, Hit, &EditPos, &NewField);
hed->EditingField = NewField;
if (GetAsyncKeyState(VK_SHIFT) < 0)
{
if (hed->SelOnField)
hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, HEHT_HEXDUMP, &EditPos, &NewField);
else
hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, HEHT_ASCIIDUMP, &EditPos, &NewField);
hed->SelEnd = hed->Index;
hed->EditingField = hed->SelOnField;
}
else
{
Hit = HEXEDIT_HitRegionTest(hed, Pt);
hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, Hit, &EditPos, &NewField);
hed->SelStart = hed->SelEnd = hed->Index;
hed->SelOnField = hed->EditingField = NewField;
SetCapture(hed->hWndSelf);
}
hed->CaretCol = EditPos.x;
hed->CaretLine = EditPos.y;
hed->InMid = FALSE;
InvalidateRect(hed->hWndSelf, NULL, FALSE);
HEXEDIT_MoveCaret(hed, TRUE);
return 0;
}
static LRESULT
HEXEDIT_WM_LBUTTONUP(PHEXEDIT_DATA hed, INT Buttons, POINTS Pt)
{
BOOL NewField;
POINT EditPos;
if (GetCapture() == hed->hWndSelf)
{
if (hed->SelOnField)
hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, HEHT_HEXDUMP, &EditPos, &NewField);
else
hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, HEHT_ASCIIDUMP, &EditPos, &NewField);
hed->CaretCol = EditPos.x;
hed->CaretLine = EditPos.y;
hed->SelEnd = hed->Index;
ReleaseCapture();
InvalidateRect(hed->hWndSelf, NULL, FALSE);
HEXEDIT_MoveCaret(hed, TRUE);
}
return 0;
}
static LRESULT
HEXEDIT_WM_MOUSEMOVE(PHEXEDIT_DATA hed, INT Buttons, POINTS Pt)
{
BOOL NewField;
POINT EditPos;
if (GetCapture() == hed->hWndSelf)
{
if (hed->SelOnField)
hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, HEHT_HEXDUMP, &EditPos, &NewField);
else
hed->Index = HEXEDIT_IndexFromPoint(hed, Pt, HEHT_ASCIIDUMP, &EditPos, &NewField);
hed->CaretCol = EditPos.x;
hed->CaretLine = EditPos.y;
hed->SelEnd = hed->Index;
InvalidateRect(hed->hWndSelf, NULL, FALSE);
HEXEDIT_MoveCaret(hed, TRUE);
}
return 0;
}
static BOOL
HEXEDIT_WM_KEYDOWN(PHEXEDIT_DATA hed, INT VkCode)
{
size_t bufsize;
PBYTE buf;
INT i0, i1;
if(GetKeyState(VK_MENU) & 0x8000)
{
return FALSE;
@ -783,62 +887,106 @@ HEXEDIT_WM_KEYDOWN(PHEXEDIT_DATA hed, INT VkCode)
bufsize = (hed->hBuffer ? LocalSize(hed->hBuffer) : 0);
if (hed->SelStart < hed->SelEnd)
{
i0 = hed->SelStart;
i1 = hed->SelEnd;
}
else
{
i0 = hed->SelEnd;
i1 = hed->SelStart;
}
switch(VkCode)
{
case VK_DELETE:
if (hed->InMid && hed->EditingField)
if (hed->SelStart != hed->SelEnd)
{
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
{
MoveMemory(buf + hed->Index, buf + hed->Index + 1,
bufsize - hed->Index - 1);
MoveMemory(buf + i0, buf + i1, bufsize - i1);
LocalUnlock(hed->hBuffer);
}
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - 1);
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - (i1 - i0));
hed->InMid = FALSE;
hed->Index = hed->SelStart = hed->SelEnd = i0;
hed->CaretCol = hed->Index % hed->ColumnsPerLine;
hed->CaretLine = hed->Index / hed->ColumnsPerLine;
}
else if (hed->Index < bufsize)
else
{
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
if (hed->InMid && hed->EditingField)
{
MoveMemory(buf + hed->Index, buf + hed->Index + 1,
bufsize - hed->Index - 1);
LocalUnlock(hed->hBuffer);
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
{
MoveMemory(buf + hed->Index, buf + hed->Index + 1,
bufsize - hed->Index - 1);
LocalUnlock(hed->hBuffer);
}
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - 1);
hed->InMid = FALSE;
}
else if (hed->Index < bufsize)
{
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
{
MoveMemory(buf + hed->Index, buf + hed->Index + 1,
bufsize - hed->Index - 1);
LocalUnlock(hed->hBuffer);
}
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - 1);
}
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - 1);
}
InvalidateRect(hed->hWndSelf, NULL, TRUE);
HEXEDIT_MoveCaret(hed, TRUE);
break;
case VK_BACK:
if (hed->InMid && hed->EditingField)
if (hed->SelStart != hed->SelEnd)
{
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
{
MoveMemory(buf + hed->Index, buf + hed->Index + 1,
bufsize - hed->Index - 1);
MoveMemory(buf + i0, buf + i1, bufsize - i1);
LocalUnlock(hed->hBuffer);
}
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - 1);
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - (i1 - i0));
hed->InMid = FALSE;
}
else if (hed->Index > 0)
{
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
{
MoveMemory(buf + hed->Index - 1, buf + hed->Index,
bufsize - hed->Index);
LocalUnlock(hed->hBuffer);
}
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - 1);
hed->Index--;
hed->Index = hed->SelStart = hed->SelEnd = i0;
hed->CaretCol = hed->Index % hed->ColumnsPerLine;
hed->CaretLine = hed->Index / hed->ColumnsPerLine;
}
else
{
if (hed->InMid && hed->EditingField)
{
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
{
MoveMemory(buf + hed->Index, buf + hed->Index + 1,
bufsize - hed->Index - 1);
LocalUnlock(hed->hBuffer);
}
}
else if (hed->Index > 0)
{
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
{
MoveMemory(buf + hed->Index - 1, buf + hed->Index,
bufsize - hed->Index);
LocalUnlock(hed->hBuffer);
}
hed->Index--;
hed->SelStart = hed->SelEnd = hed->Index;
hed->CaretCol = hed->Index % hed->ColumnsPerLine;
hed->CaretLine = hed->Index / hed->ColumnsPerLine;
}
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - 1);
hed->InMid = FALSE;
}
InvalidateRect(hed->hWndSelf, NULL, TRUE);
@ -849,9 +997,14 @@ HEXEDIT_WM_KEYDOWN(PHEXEDIT_DATA hed, INT VkCode)
if (hed->Index > 0)
{
hed->Index--;
if (GetAsyncKeyState(VK_SHIFT) < 0)
hed->SelEnd = hed->Index;
else
hed->SelStart = hed->SelEnd = hed->Index;
hed->CaretCol = hed->Index % hed->ColumnsPerLine;
hed->CaretLine = hed->Index / hed->ColumnsPerLine;
hed->InMid = FALSE;
InvalidateRect(hed->hWndSelf, NULL, TRUE);
HEXEDIT_MoveCaret(hed, TRUE);
}
break;
@ -860,9 +1013,14 @@ HEXEDIT_WM_KEYDOWN(PHEXEDIT_DATA hed, INT VkCode)
if (hed->Index < (INT)bufsize)
{
hed->Index++;
if (GetAsyncKeyState(VK_SHIFT) < 0)
hed->SelEnd = hed->Index;
else
hed->SelStart = hed->SelEnd = hed->Index;
hed->CaretCol = hed->Index % hed->ColumnsPerLine;
hed->CaretLine = hed->Index / hed->ColumnsPerLine;
hed->InMid = FALSE;
InvalidateRect(hed->hWndSelf, NULL, TRUE);
HEXEDIT_MoveCaret(hed, TRUE);
}
break;
@ -871,27 +1029,31 @@ HEXEDIT_WM_KEYDOWN(PHEXEDIT_DATA hed, INT VkCode)
if (hed->Index >= hed->ColumnsPerLine)
{
hed->Index -= hed->ColumnsPerLine;
if (GetAsyncKeyState(VK_SHIFT) < 0)
hed->SelEnd = hed->Index;
else
hed->SelStart = hed->SelEnd = hed->Index;
hed->CaretCol = hed->Index % hed->ColumnsPerLine;
hed->CaretLine = hed->Index / hed->ColumnsPerLine;
hed->InMid = FALSE;
InvalidateRect(hed->hWndSelf, NULL, TRUE);
HEXEDIT_MoveCaret(hed, TRUE);
}
break;
case VK_DOWN:
if (hed->Index + hed->ColumnsPerLine <= (INT) bufsize)
{
hed->Index += hed->ColumnsPerLine;
hed->CaretCol = hed->Index % hed->ColumnsPerLine;
hed->CaretLine = hed->Index / hed->ColumnsPerLine;
}
else
{
hed->Index = bufsize;
hed->CaretCol = hed->Index % hed->ColumnsPerLine;
hed->CaretLine = hed->Index / hed->ColumnsPerLine;
}
hed->CaretCol = hed->Index % hed->ColumnsPerLine;
hed->CaretLine = hed->Index / hed->ColumnsPerLine;
if (GetAsyncKeyState(VK_SHIFT) < 0)
hed->SelEnd = hed->Index;
else
hed->SelStart = hed->SelEnd = hed->Index;
hed->InMid = FALSE;
InvalidateRect(hed->hWndSelf, NULL, TRUE);
HEXEDIT_MoveCaret(hed, TRUE);
break;
}
@ -904,12 +1066,36 @@ HEXEDIT_WM_CHAR(PHEXEDIT_DATA hed, WCHAR ch)
{
size_t bufsize;
PBYTE buf;
INT i0, i1;
bufsize = (hed->hBuffer ? LocalSize(hed->hBuffer) : 0);
if (hed->SelStart < hed->SelEnd)
{
i0 = hed->SelStart;
i1 = hed->SelEnd;
}
else
{
i0 = hed->SelEnd;
i1 = hed->SelStart;
}
if (!hed->EditingField)
{
if (0x20 <= ch && ch < 0x7F)
if (0x20 <= ch && ch <= 0xFF)
{
if (hed->SelStart != hed->SelEnd)
{
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
{
MoveMemory(buf + i0, buf + i1, bufsize - i1);
LocalUnlock(hed->hBuffer);
}
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - (i1 - i0));
hed->InMid = FALSE;
bufsize = (hed->hBuffer ? LocalSize(hed->hBuffer) : 0);
hed->Index = hed->SelStart = hed->SelEnd = i0;
}
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize + 1);
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
@ -932,6 +1118,19 @@ HEXEDIT_WM_CHAR(PHEXEDIT_DATA hed, WCHAR ch)
if (('0' <= ch && ch <= '9') || ('A' <= ch && ch <= 'F') ||
('a' <= ch && ch <= 'f'))
{
if (hed->SelStart != hed->SelEnd)
{
buf = (PBYTE) LocalLock(hed->hBuffer);
if (buf)
{
MoveMemory(buf + i0, buf + i1, bufsize - i1);
LocalUnlock(hed->hBuffer);
}
HexEdit_SetMaxBufferSize(hed->hWndSelf, bufsize - (i1 - i0));
hed->InMid = FALSE;
bufsize = (hed->hBuffer ? LocalSize(hed->hBuffer) : 0);
hed->Index = hed->SelStart = hed->SelEnd = i0;
}
if (hed->InMid)
{
buf = (PBYTE) LocalLock(hed->hBuffer);
@ -947,10 +1146,6 @@ HEXEDIT_WM_CHAR(PHEXEDIT_DATA hed, WCHAR ch)
}
hed->InMid = FALSE;
hed->Index++;
hed->CaretCol = hed->Index % hed->ColumnsPerLine;
hed->CaretLine = hed->Index / hed->ColumnsPerLine;
InvalidateRect(hed->hWndSelf, NULL, TRUE);
HEXEDIT_MoveCaret(hed, TRUE);
}
else
{
@ -969,11 +1164,11 @@ HEXEDIT_WM_CHAR(PHEXEDIT_DATA hed, WCHAR ch)
LocalUnlock(hed->hBuffer);
}
hed->InMid = TRUE;
hed->CaretCol = hed->Index % hed->ColumnsPerLine;
hed->CaretLine = hed->Index / hed->ColumnsPerLine;
InvalidateRect(hed->hWndSelf, NULL, TRUE);
HEXEDIT_MoveCaret(hed, TRUE);
}
hed->CaretCol = hed->Index % hed->ColumnsPerLine;
hed->CaretLine = hed->Index / hed->ColumnsPerLine;
InvalidateRect(hed->hWndSelf, NULL, TRUE);
HEXEDIT_MoveCaret(hed, TRUE);
return FALSE;
}
}
@ -1024,6 +1219,20 @@ HexEditWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
return HEXEDIT_WM_LBUTTONDOWN(hed, (INT)wParam, p);
}
case WM_LBUTTONUP:
{
p.x = LOWORD(lParam);
p.y = HIWORD(lParam);
return HEXEDIT_WM_LBUTTONUP(hed, (INT)wParam, p);
}
case WM_MOUSEMOVE:
{
p.x = LOWORD(lParam);
p.y = HIWORD(lParam);
return HEXEDIT_WM_MOUSEMOVE(hed, (INT)wParam, p);
}
case WM_MOUSEWHEEL:
{
UINT nScrollLines = 3;
@ -1080,8 +1289,16 @@ HexEditWndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
return HEXEDIT_WM_NCDESTROY(hed);
}
break;
case WM_CONTEXTMENU:
/* FIXME: Implement Cut, Copy, Paste, Delete and Select All */
break;
case WM_COMMAND:
/* FIXME: Implement Cut, Copy, Paste, Delete and Select All */
break;
}
return CallWindowProc(DefWindowProc, hWnd, uMsg, wParam, lParam);
return DefWindowProc(hWnd, uMsg, wParam, lParam);
}

View file

@ -49,7 +49,7 @@
4 = -O2
5 = -O3
-->
<property name="OPTIMIZE" value="1" />
<property name="OPTIMIZE" value="0" />
<!--

View file

@ -3,8 +3,9 @@
<module name="libtiff" type="win32dll" entrypoint="0" installbase="system32" installname="libtiff.dll" allowwarnings="true" crt="msvcrt">
<define name="WIN32" />
<define name="NDEBUG" />
<define name="_WINDOWS" />
<define name="_USRDLL" />
<define name="BUILD_LIBTIFF_DLL" />
<define name="DLL_EXPORT" />
<define name="USE_WIN32_FILEIO" />
<include base="libtiff">.</include>
<include base="ReactOS">include/reactos/libs/zlib</include>
<include base="ReactOS">include/reactos/libs/libtiff</include>

15
dll/3rdparty/libtiff/rosdiff.patch vendored Normal file
View file

@ -0,0 +1,15 @@
Index: tif_open.c
===================================================================
--- tif_open.c (revision 48037)
+++ tif_open.c (working copy)
@@ -516,6 +516,9 @@
TIFFSetClientdata(TIFF* tif, thandle_t newvalue)
{
thandle_t m = tif->tif_clientdata;
+#ifdef USE_WIN32_FILEIO
+ newvalue = (thandle_t) _get_osfhandle(newvalue);
+#endif /* USE_WIN32_FILEIO */
tif->tif_clientdata = newvalue;
return m;
}

View file

@ -516,6 +516,9 @@ thandle_t
TIFFSetClientdata(TIFF* tif, thandle_t newvalue)
{
thandle_t m = tif->tif_clientdata;
#ifdef USE_WIN32_FILEIO
newvalue = (thandle_t) _get_osfhandle(newvalue);
#endif /* USE_WIN32_FILEIO */
tif->tif_clientdata = newvalue;
return m;
}

View file

@ -518,7 +518,7 @@ BOOL WINAPI SetupIterateCabinetA(PCSTR CabinetFile, DWORD Reserved,
SC_HSC_A my_hsc;
ERF erf;
CHAR pszCabinet[MAX_PATH], pszCabPath[MAX_PATH], *p;
CHAR pszCabinet[MAX_PATH], pszCabPath[MAX_PATH], *p = NULL;
DWORD fpnsize;
BOOL ret;
@ -529,6 +529,12 @@ BOOL WINAPI SetupIterateCabinetA(PCSTR CabinetFile, DWORD Reserved,
if (! LoadCABINETDll())
return FALSE;
if (!CabinetFile)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
memset(&my_hsc, 0, sizeof(SC_HSC_A));
pszCabinet[0] = '\0';
pszCabPath[0] = '\0';
@ -584,7 +590,7 @@ BOOL WINAPI SetupIterateCabinetW(PCWSTR CabinetFile, DWORD Reserved,
UINT len;
SC_HSC_W my_hsc;
ERF erf;
WCHAR pszCabPathW[MAX_PATH], *p;
WCHAR pszCabPathW[MAX_PATH], *p = NULL;
DWORD fpnsize;
BOOL ret;
@ -594,7 +600,11 @@ BOOL WINAPI SetupIterateCabinetW(PCWSTR CabinetFile, DWORD Reserved,
if (!LoadCABINETDll())
return FALSE;
if (!CabinetFile) return FALSE;
if (!CabinetFile)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
memset(&my_hsc, 0, sizeof(SC_HSC_W));

View file

@ -485,8 +485,8 @@ static BOOL create_icon_bitmaps( const BITMAPINFO *bmi, int width, int height,
else
{
if (!(*mask = CreateBitmap( width, height, 1, 1, NULL ))) goto done;
if (!(*color = CreateBitmap( width, height, GetDeviceCaps( screen_dc, PLANES ),
GetDeviceCaps( screen_dc, BITSPIXEL ), NULL )))
if (!(*color = CreateBitmap( width, height, bmi->bmiHeader.biPlanes,
bmi->bmiHeader.biBitCount, NULL )))
{
DeleteObject( *mask );
goto done;
@ -1475,10 +1475,29 @@ HICON WINAPI CreateIconIndirect(PICONINFO iconinfo)
height = bmpXor.bmHeight;
if (bmpXor.bmPlanes * bmpXor.bmBitsPixel != 1)
{
color = CreateCompatibleBitmap( screen_dc, width, height );
color = CreateBitmap( width, height, bmpXor.bmPlanes, bmpXor.bmBitsPixel, NULL );
if(!color)
{
ERR("Unable to create color bitmap!\n");
return NULL;
}
mask = CreateBitmap( width, height, 1, 1, NULL );
if(!mask)
{
ERR("Unable to create mask bitmap!\n");
DeleteObject(color);
return NULL;
}
}
else mask = CreateBitmap( width, height * 2, 1, 1, NULL );
else
{
mask = CreateBitmap( width, height * 2, 1, 1, NULL );
if(!mask)
{
ERR("Unable to create mask bitmap!\n");
return NULL;
}
}
}
else
{

View file

@ -8,6 +8,11 @@ extern "C" {
#pragma warning(push)
#pragma warning(disable:4201)
#endif
#if !defined(_WIN64)
#include <pshpack1.h>
#endif
#define WINSHELLAPI DECLSPEC_IMPORT
#define ABE_LEFT 0
#define ABE_TOP 1
@ -160,7 +165,7 @@ typedef struct _SHCREATEPROCESSINFOW
typedef WORD FILEOP_FLAGS;
typedef WORD PRINTEROP_FLAGS;
#include <pshpack1.h>
typedef struct _AppBarData {
DWORD cbSize;
HWND hWnd;
@ -330,7 +335,6 @@ typedef struct _SHNAMEMAPPINGW {
int cchOldPath;
int cchNewPath;
} SHNAMEMAPPINGW, *LPSHNAMEMAPPINGW;
#include <poppack.h>
#define SHERB_NOCONFIRMATION 0x1
#define SHERB_NOPROGRESSUI 0x2
@ -440,6 +444,11 @@ typedef LPSHNAMEMAPPINGA LPSHNAMEMAPPING;
#define SHEmptyRecycleBin SHEmptyRecycleBinA
#define SHGetNewLinkInfo SHGetNewLinkInfoA
#endif
#if !defined(_WIN64)
#include <poppack.h>
#endif
#ifdef _MSC_VER
#pragma warning(pop)
#endif

View file

@ -1715,7 +1715,7 @@ typedef struct tagLOGBRUSH32 {
typedef struct tagEMRCREATEBRUSHINDIRECT {
EMR emr;
DWORD ihBrush;
LOGBRUSH lb;
LOGBRUSH32 lb;
} EMRCREATEBRUSHINDIRECT,*PEMRCREATEBRUSHINDIRECT;
typedef LONG LCSCSTYPE;
typedef LONG LCSGAMUTMATCH;
@ -1897,11 +1897,11 @@ typedef struct tagEMREXTCREATEFONTINDIRECTW {
EXTLOGFONTW elfw;
} EMREXTCREATEFONTINDIRECTW,*PEMREXTCREATEFONTINDIRECTW;
typedef struct tagEXTLOGPEN {
UINT elpPenStyle;
UINT elpWidth;
DWORD elpPenStyle;
DWORD elpWidth;
UINT elpBrushStyle;
COLORREF elpColor;
LONG elpHatch;
ULONG_PTR elpHatch;
DWORD elpNumEntries;
DWORD elpStyleEntry[1];
} EXTLOGPEN,*PEXTLOGPEN,*LPEXTLOGPEN,*NPEXTLOGPEN;

View file

@ -13,7 +13,7 @@ extern "C" {
#ifdef _MSC_VER
#define WS2TCPIP_INLINE __inline
#else
#define WS2TCPIP_INLINE extern inline
#define WS2TCPIP_INLINE static inline
#endif
#include <in6addr.h>

View file

@ -24,7 +24,7 @@ extern "C" {
#ifdef _MSC_VER
#define WS2TCPIP_INLINE __inline
#else
#define WS2TCPIP_INLINE extern inline
#define WS2TCPIP_INLINE static inline
#endif
/* getaddrinfo error codes */

View file

@ -0,0 +1,445 @@
Index: tiffio.h
===================================================================
--- tiffio.h (revision 48037)
+++ tiffio.h (working copy)
@@ -27,6 +27,30 @@
#ifndef _TIFFIO_
#define _TIFFIO_
+#ifndef __GNUC__
+# define __DLL_IMPORT__ __declspec(dllimport)
+# define __DLL_EXPORT__ __declspec(dllexport)
+#else
+# define __DLL_IMPORT__ __attribute__((dllimport)) extern
+# define __DLL_EXPORT__ __attribute__((dllexport)) extern
+#endif
+
+#if (defined __WIN32__) || (defined _WIN32)
+# ifdef BUILD_LIBTIFF_DLL
+# define LIBTIFF_DLL_IMPEXP __DLL_EXPORT__
+# elif defined(LIBTIFF_STATIC)
+# define LIBTIFF_DLL_IMPEXP
+# elif defined (USE_LIBTIFF_DLL)
+# define LIBTIFF_DLL_IMPEXP __DLL_IMPORT__
+# elif defined (USE_LIBTIFF_STATIC)
+# define LIBTIFF_DLL_IMPEXP
+# else /* assume USE_LIBTIFF_DLL */
+# define LIBTIFF_DLL_IMPEXP __DLL_IMPORT__
+# endif
+#else /* __WIN32__ */
+# define LIBTIFF_DLL_IMPEXP
+#endif
+
/*
* TIFF I/O Library Definitions.
*/
@@ -80,10 +104,20 @@
*/
#if defined(_WINDOWS) || defined(__WIN32__) || defined(_Windows)
+# define BINMODE "b"
# if !defined(__CYGWIN) && !defined(AVOID_WIN32_FILEIO) && !defined(USE_WIN32_FILEIO)
# define AVOID_WIN32_FILEIO
# endif
-#endif
+# include <fcntl.h>
+# include <io.h>
+# ifdef SET_BINARY
+# undef SET_BINARY
+# endif /* SET_BINARY */
+# define SET_BINARY(f) do {if (!_isatty(f)) _setmode(f,_O_BINARY);} while (0)
+#else /* Windows */
+# define BINMODE
+# define SET_BINARY(f) (void)0
+#endif /* Windows */
#if defined(USE_WIN32_FILEIO)
# define VC_EXTRALEAN
@@ -268,30 +302,30 @@
typedef void (*TIFFUnmapFileProc)(thandle_t, tdata_t, toff_t);
typedef void (*TIFFExtendProc)(TIFF*);
-extern const char* TIFFGetVersion(void);
+LIBTIFF_DLL_IMPEXP const char* TIFFGetVersion(void);
-extern const TIFFCodec* TIFFFindCODEC(uint16);
-extern TIFFCodec* TIFFRegisterCODEC(uint16, const char*, TIFFInitMethod);
-extern void TIFFUnRegisterCODEC(TIFFCodec*);
-extern int TIFFIsCODECConfigured(uint16);
-extern TIFFCodec* TIFFGetConfiguredCODECs(void);
+LIBTIFF_DLL_IMPEXP const TIFFCodec* TIFFFindCODEC(uint16);
+LIBTIFF_DLL_IMPEXP TIFFCodec* TIFFRegisterCODEC(uint16, const char*, TIFFInitMethod);
+LIBTIFF_DLL_IMPEXP void TIFFUnRegisterCODEC(TIFFCodec*);
+LIBTIFF_DLL_IMPEXP int TIFFIsCODECConfigured(uint16);
+LIBTIFF_DLL_IMPEXP TIFFCodec* TIFFGetConfiguredCODECs(void);
/*
* Auxiliary functions.
*/
-extern tdata_t _TIFFmalloc(tsize_t);
-extern tdata_t _TIFFrealloc(tdata_t, tsize_t);
-extern void _TIFFmemset(tdata_t, int, tsize_t);
-extern void _TIFFmemcpy(tdata_t, const tdata_t, tsize_t);
-extern int _TIFFmemcmp(const tdata_t, const tdata_t, tsize_t);
-extern void _TIFFfree(tdata_t);
+LIBTIFF_DLL_IMPEXP tdata_t _TIFFmalloc(tsize_t);
+LIBTIFF_DLL_IMPEXP tdata_t _TIFFrealloc(tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP void _TIFFmemset(tdata_t, int, tsize_t);
+LIBTIFF_DLL_IMPEXP void _TIFFmemcpy(tdata_t, const tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP int _TIFFmemcmp(const tdata_t, const tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP void _TIFFfree(tdata_t);
/*
** Stuff, related to tag handling and creating custom tags.
*/
-extern int TIFFGetTagListCount( TIFF * );
-extern ttag_t TIFFGetTagListEntry( TIFF *, int tag_index );
+LIBTIFF_DLL_IMPEXP int TIFFGetTagListCount( TIFF * );
+LIBTIFF_DLL_IMPEXP ttag_t TIFFGetTagListEntry( TIFF *, int tag_index );
#define TIFF_ANY TIFF_NOTYPE /* for field descriptor searching */
#define TIFF_VARIABLE -1 /* marker for variable length tags */
@@ -317,12 +351,12 @@
void *value;
} TIFFTagValue;
-extern void TIFFMergeFieldInfo(TIFF*, const TIFFFieldInfo[], int);
-extern const TIFFFieldInfo* TIFFFindFieldInfo(TIFF*, ttag_t, TIFFDataType);
-extern const TIFFFieldInfo* TIFFFindFieldInfoByName(TIFF* , const char *,
+LIBTIFF_DLL_IMPEXP void TIFFMergeFieldInfo(TIFF*, const TIFFFieldInfo[], int);
+LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFindFieldInfo(TIFF*, ttag_t, TIFFDataType);
+LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFindFieldInfoByName(TIFF* , const char *,
TIFFDataType);
-extern const TIFFFieldInfo* TIFFFieldWithTag(TIFF*, ttag_t);
-extern const TIFFFieldInfo* TIFFFieldWithName(TIFF*, const char *);
+LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFieldWithTag(TIFF*, ttag_t);
+LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFieldWithName(TIFF*, const char *);
typedef int (*TIFFVSetMethod)(TIFF*, ttag_t, va_list);
typedef int (*TIFFVGetMethod)(TIFF*, ttag_t, va_list);
@@ -334,180 +368,180 @@
TIFFPrintMethod printdir; /* directory print routine */
} TIFFTagMethods;
-extern TIFFTagMethods *TIFFAccessTagMethods( TIFF * );
-extern void *TIFFGetClientInfo( TIFF *, const char * );
-extern void TIFFSetClientInfo( TIFF *, void *, const char * );
+LIBTIFF_DLL_IMPEXP TIFFTagMethods *TIFFAccessTagMethods( TIFF * );
+LIBTIFF_DLL_IMPEXP void *TIFFGetClientInfo( TIFF *, const char * );
+LIBTIFF_DLL_IMPEXP void TIFFSetClientInfo( TIFF *, void *, const char * );
-extern void TIFFCleanup(TIFF*);
-extern void TIFFClose(TIFF*);
-extern int TIFFFlush(TIFF*);
-extern int TIFFFlushData(TIFF*);
-extern int TIFFGetField(TIFF*, ttag_t, ...);
-extern int TIFFVGetField(TIFF*, ttag_t, va_list);
-extern int TIFFGetFieldDefaulted(TIFF*, ttag_t, ...);
-extern int TIFFVGetFieldDefaulted(TIFF*, ttag_t, va_list);
-extern int TIFFReadDirectory(TIFF*);
-extern int TIFFReadCustomDirectory(TIFF*, toff_t, const TIFFFieldInfo[],
+LIBTIFF_DLL_IMPEXP void TIFFCleanup(TIFF*);
+LIBTIFF_DLL_IMPEXP void TIFFClose(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFFlush(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFFlushData(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFGetField(TIFF*, ttag_t, ...);
+LIBTIFF_DLL_IMPEXP int TIFFVGetField(TIFF*, ttag_t, va_list);
+LIBTIFF_DLL_IMPEXP int TIFFGetFieldDefaulted(TIFF*, ttag_t, ...);
+LIBTIFF_DLL_IMPEXP int TIFFVGetFieldDefaulted(TIFF*, ttag_t, va_list);
+LIBTIFF_DLL_IMPEXP int TIFFReadDirectory(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFReadCustomDirectory(TIFF*, toff_t, const TIFFFieldInfo[],
size_t);
-extern int TIFFReadEXIFDirectory(TIFF*, toff_t);
-extern tsize_t TIFFScanlineSize(TIFF*);
-extern tsize_t TIFFOldScanlineSize(TIFF*);
-extern tsize_t TIFFNewScanlineSize(TIFF*);
-extern tsize_t TIFFRasterScanlineSize(TIFF*);
-extern tsize_t TIFFStripSize(TIFF*);
-extern tsize_t TIFFRawStripSize(TIFF*, tstrip_t);
-extern tsize_t TIFFVStripSize(TIFF*, uint32);
-extern tsize_t TIFFTileRowSize(TIFF*);
-extern tsize_t TIFFTileSize(TIFF*);
-extern tsize_t TIFFVTileSize(TIFF*, uint32);
-extern uint32 TIFFDefaultStripSize(TIFF*, uint32);
-extern void TIFFDefaultTileSize(TIFF*, uint32*, uint32*);
-extern int TIFFFileno(TIFF*);
-extern int TIFFSetFileno(TIFF*, int);
-extern thandle_t TIFFClientdata(TIFF*);
-extern thandle_t TIFFSetClientdata(TIFF*, thandle_t);
-extern int TIFFGetMode(TIFF*);
-extern int TIFFSetMode(TIFF*, int);
-extern int TIFFIsTiled(TIFF*);
-extern int TIFFIsByteSwapped(TIFF*);
-extern int TIFFIsUpSampled(TIFF*);
-extern int TIFFIsMSB2LSB(TIFF*);
-extern int TIFFIsBigEndian(TIFF*);
-extern TIFFReadWriteProc TIFFGetReadProc(TIFF*);
-extern TIFFReadWriteProc TIFFGetWriteProc(TIFF*);
-extern TIFFSeekProc TIFFGetSeekProc(TIFF*);
-extern TIFFCloseProc TIFFGetCloseProc(TIFF*);
-extern TIFFSizeProc TIFFGetSizeProc(TIFF*);
-extern TIFFMapFileProc TIFFGetMapFileProc(TIFF*);
-extern TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF*);
-extern uint32 TIFFCurrentRow(TIFF*);
-extern tdir_t TIFFCurrentDirectory(TIFF*);
-extern tdir_t TIFFNumberOfDirectories(TIFF*);
-extern uint32 TIFFCurrentDirOffset(TIFF*);
-extern tstrip_t TIFFCurrentStrip(TIFF*);
-extern ttile_t TIFFCurrentTile(TIFF*);
-extern int TIFFReadBufferSetup(TIFF*, tdata_t, tsize_t);
-extern int TIFFWriteBufferSetup(TIFF*, tdata_t, tsize_t);
-extern int TIFFSetupStrips(TIFF *);
-extern int TIFFWriteCheck(TIFF*, int, const char *);
-extern void TIFFFreeDirectory(TIFF*);
-extern int TIFFCreateDirectory(TIFF*);
-extern int TIFFLastDirectory(TIFF*);
-extern int TIFFSetDirectory(TIFF*, tdir_t);
-extern int TIFFSetSubDirectory(TIFF*, uint32);
-extern int TIFFUnlinkDirectory(TIFF*, tdir_t);
-extern int TIFFSetField(TIFF*, ttag_t, ...);
-extern int TIFFVSetField(TIFF*, ttag_t, va_list);
-extern int TIFFWriteDirectory(TIFF *);
-extern int TIFFCheckpointDirectory(TIFF *);
-extern int TIFFRewriteDirectory(TIFF *);
-extern int TIFFReassignTagToIgnore(enum TIFFIgnoreSense, int);
+LIBTIFF_DLL_IMPEXP int TIFFReadEXIFDirectory(TIFF*, toff_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFScanlineSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFOldScanlineSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFNewScanlineSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFRasterScanlineSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFStripSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFRawStripSize(TIFF*, tstrip_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFVStripSize(TIFF*, uint32);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFTileRowSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFTileSize(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFVTileSize(TIFF*, uint32);
+LIBTIFF_DLL_IMPEXP uint32 TIFFDefaultStripSize(TIFF*, uint32);
+LIBTIFF_DLL_IMPEXP void TIFFDefaultTileSize(TIFF*, uint32*, uint32*);
+LIBTIFF_DLL_IMPEXP int TIFFFileno(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFSetFileno(TIFF*, int);
+LIBTIFF_DLL_IMPEXP thandle_t TIFFClientdata(TIFF*);
+LIBTIFF_DLL_IMPEXP thandle_t TIFFSetClientdata(TIFF*, thandle_t);
+LIBTIFF_DLL_IMPEXP int TIFFGetMode(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFSetMode(TIFF*, int);
+LIBTIFF_DLL_IMPEXP int TIFFIsTiled(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFIsByteSwapped(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFIsUpSampled(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFIsMSB2LSB(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFIsBigEndian(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFReadWriteProc TIFFGetReadProc(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFReadWriteProc TIFFGetWriteProc(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFSeekProc TIFFGetSeekProc(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFCloseProc TIFFGetCloseProc(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFSizeProc TIFFGetSizeProc(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFMapFileProc TIFFGetMapFileProc(TIFF*);
+LIBTIFF_DLL_IMPEXP TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF*);
+LIBTIFF_DLL_IMPEXP uint32 TIFFCurrentRow(TIFF*);
+LIBTIFF_DLL_IMPEXP tdir_t TIFFCurrentDirectory(TIFF*);
+LIBTIFF_DLL_IMPEXP tdir_t TIFFNumberOfDirectories(TIFF*);
+LIBTIFF_DLL_IMPEXP uint32 TIFFCurrentDirOffset(TIFF*);
+LIBTIFF_DLL_IMPEXP tstrip_t TIFFCurrentStrip(TIFF*);
+LIBTIFF_DLL_IMPEXP ttile_t TIFFCurrentTile(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFReadBufferSetup(TIFF*, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP int TIFFWriteBufferSetup(TIFF*, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP int TIFFSetupStrips(TIFF *);
+LIBTIFF_DLL_IMPEXP int TIFFWriteCheck(TIFF*, int, const char *);
+LIBTIFF_DLL_IMPEXP void TIFFFreeDirectory(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFCreateDirectory(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFLastDirectory(TIFF*);
+LIBTIFF_DLL_IMPEXP int TIFFSetDirectory(TIFF*, tdir_t);
+LIBTIFF_DLL_IMPEXP int TIFFSetSubDirectory(TIFF*, uint32);
+LIBTIFF_DLL_IMPEXP int TIFFUnlinkDirectory(TIFF*, tdir_t);
+LIBTIFF_DLL_IMPEXP int TIFFSetField(TIFF*, ttag_t, ...);
+LIBTIFF_DLL_IMPEXP int TIFFVSetField(TIFF*, ttag_t, va_list);
+LIBTIFF_DLL_IMPEXP int TIFFWriteDirectory(TIFF *);
+LIBTIFF_DLL_IMPEXP int TIFFCheckpointDirectory(TIFF *);
+LIBTIFF_DLL_IMPEXP int TIFFRewriteDirectory(TIFF *);
+LIBTIFF_DLL_IMPEXP int TIFFReassignTagToIgnore(enum TIFFIgnoreSense, int);
#if defined(c_plusplus) || defined(__cplusplus)
-extern void TIFFPrintDirectory(TIFF*, FILE*, long = 0);
-extern int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
-extern int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
-extern int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int = 0);
-extern int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*,
+LIBTIFF_DLL_IMPEXP void TIFFPrintDirectory(TIFF*, FILE*, long = 0);
+LIBTIFF_DLL_IMPEXP int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
+LIBTIFF_DLL_IMPEXP int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
+LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int = 0);
+LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*,
int = ORIENTATION_BOTLEFT, int = 0);
#else
-extern void TIFFPrintDirectory(TIFF*, FILE*, long);
-extern int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t);
-extern int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t);
-extern int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int);
-extern int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*, int, int);
+LIBTIFF_DLL_IMPEXP void TIFFPrintDirectory(TIFF*, FILE*, long);
+LIBTIFF_DLL_IMPEXP int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t);
+LIBTIFF_DLL_IMPEXP int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t);
+LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int);
+LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*, int, int);
#endif
-extern int TIFFReadRGBAStrip(TIFF*, tstrip_t, uint32 * );
-extern int TIFFReadRGBATile(TIFF*, uint32, uint32, uint32 * );
-extern int TIFFRGBAImageOK(TIFF*, char [1024]);
-extern int TIFFRGBAImageBegin(TIFFRGBAImage*, TIFF*, int, char [1024]);
-extern int TIFFRGBAImageGet(TIFFRGBAImage*, uint32*, uint32, uint32);
-extern void TIFFRGBAImageEnd(TIFFRGBAImage*);
-extern TIFF* TIFFOpen(const char*, const char*);
+LIBTIFF_DLL_IMPEXP int TIFFReadRGBAStrip(TIFF*, tstrip_t, uint32 * );
+LIBTIFF_DLL_IMPEXP int TIFFReadRGBATile(TIFF*, uint32, uint32, uint32 * );
+LIBTIFF_DLL_IMPEXP int TIFFRGBAImageOK(TIFF*, char [1024]);
+LIBTIFF_DLL_IMPEXP int TIFFRGBAImageBegin(TIFFRGBAImage*, TIFF*, int, char [1024]);
+LIBTIFF_DLL_IMPEXP int TIFFRGBAImageGet(TIFFRGBAImage*, uint32*, uint32, uint32);
+LIBTIFF_DLL_IMPEXP void TIFFRGBAImageEnd(TIFFRGBAImage*);
+LIBTIFF_DLL_IMPEXP TIFF* TIFFOpen(const char*, const char*);
# ifdef __WIN32__
-extern TIFF* TIFFOpenW(const wchar_t*, const char*);
+LIBTIFF_DLL_IMPEXP TIFF* TIFFOpenW(const wchar_t*, const char*);
# endif /* __WIN32__ */
-extern TIFF* TIFFFdOpen(int, const char*, const char*);
-extern TIFF* TIFFClientOpen(const char*, const char*,
+LIBTIFF_DLL_IMPEXP TIFF* TIFFFdOpen(int, const char*, const char*);
+LIBTIFF_DLL_IMPEXP TIFF* TIFFClientOpen(const char*, const char*,
thandle_t,
TIFFReadWriteProc, TIFFReadWriteProc,
TIFFSeekProc, TIFFCloseProc,
TIFFSizeProc,
TIFFMapFileProc, TIFFUnmapFileProc);
-extern const char* TIFFFileName(TIFF*);
-extern const char* TIFFSetFileName(TIFF*, const char *);
-extern void TIFFError(const char*, const char*, ...) __attribute__((format (printf,2,3)));
-extern void TIFFErrorExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
-extern void TIFFWarning(const char*, const char*, ...) __attribute__((format (printf,2,3)));
-extern void TIFFWarningExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
-extern TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler);
-extern TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt);
-extern TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler);
-extern TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt);
-extern TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc);
-extern ttile_t TIFFComputeTile(TIFF*, uint32, uint32, uint32, tsample_t);
-extern int TIFFCheckTile(TIFF*, uint32, uint32, uint32, tsample_t);
-extern ttile_t TIFFNumberOfTiles(TIFF*);
-extern tsize_t TIFFReadTile(TIFF*,
+LIBTIFF_DLL_IMPEXP const char* TIFFFileName(TIFF*);
+LIBTIFF_DLL_IMPEXP const char* TIFFSetFileName(TIFF*, const char *);
+LIBTIFF_DLL_IMPEXP void TIFFError(const char*, const char*, ...) __attribute__((format (printf,2,3)));
+LIBTIFF_DLL_IMPEXP void TIFFErrorExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
+LIBTIFF_DLL_IMPEXP void TIFFWarning(const char*, const char*, ...) __attribute__((format (printf,2,3)));
+LIBTIFF_DLL_IMPEXP void TIFFWarningExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
+LIBTIFF_DLL_IMPEXP TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler);
+LIBTIFF_DLL_IMPEXP TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt);
+LIBTIFF_DLL_IMPEXP TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler);
+LIBTIFF_DLL_IMPEXP TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt);
+LIBTIFF_DLL_IMPEXP TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc);
+LIBTIFF_DLL_IMPEXP ttile_t TIFFComputeTile(TIFF*, uint32, uint32, uint32, tsample_t);
+LIBTIFF_DLL_IMPEXP int TIFFCheckTile(TIFF*, uint32, uint32, uint32, tsample_t);
+LIBTIFF_DLL_IMPEXP ttile_t TIFFNumberOfTiles(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFReadTile(TIFF*,
tdata_t, uint32, uint32, uint32, tsample_t);
-extern tsize_t TIFFWriteTile(TIFF*,
+LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteTile(TIFF*,
tdata_t, uint32, uint32, uint32, tsample_t);
-extern tstrip_t TIFFComputeStrip(TIFF*, uint32, tsample_t);
-extern tstrip_t TIFFNumberOfStrips(TIFF*);
-extern tsize_t TIFFReadEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
-extern tsize_t TIFFReadRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
-extern tsize_t TIFFReadEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
-extern tsize_t TIFFReadRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
-extern tsize_t TIFFWriteEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
-extern tsize_t TIFFWriteRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
-extern tsize_t TIFFWriteEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
-extern tsize_t TIFFWriteRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
-extern int TIFFDataWidth(TIFFDataType); /* table of tag datatype widths */
-extern void TIFFSetWriteOffset(TIFF*, toff_t);
-extern void TIFFSwabShort(uint16*);
-extern void TIFFSwabLong(uint32*);
-extern void TIFFSwabDouble(double*);
-extern void TIFFSwabArrayOfShort(uint16*, unsigned long);
-extern void TIFFSwabArrayOfTriples(uint8*, unsigned long);
-extern void TIFFSwabArrayOfLong(uint32*, unsigned long);
-extern void TIFFSwabArrayOfDouble(double*, unsigned long);
-extern void TIFFReverseBits(unsigned char *, unsigned long);
-extern const unsigned char* TIFFGetBitRevTable(int);
+LIBTIFF_DLL_IMPEXP tstrip_t TIFFComputeStrip(TIFF*, uint32, tsample_t);
+LIBTIFF_DLL_IMPEXP tstrip_t TIFFNumberOfStrips(TIFF*);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFReadEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFReadRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFReadEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFReadRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
+LIBTIFF_DLL_IMPEXP int TIFFDataWidth(TIFFDataType); /* table of tag datatype widths */
+LIBTIFF_DLL_IMPEXP void TIFFSetWriteOffset(TIFF*, toff_t);
+LIBTIFF_DLL_IMPEXP void TIFFSwabShort(uint16*);
+LIBTIFF_DLL_IMPEXP void TIFFSwabLong(uint32*);
+LIBTIFF_DLL_IMPEXP void TIFFSwabDouble(double*);
+LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfShort(uint16*, unsigned long);
+LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfTriples(uint8*, unsigned long);
+LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfLong(uint32*, unsigned long);
+LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfDouble(double*, unsigned long);
+LIBTIFF_DLL_IMPEXP void TIFFReverseBits(unsigned char *, unsigned long);
+LIBTIFF_DLL_IMPEXP const unsigned char* TIFFGetBitRevTable(int);
#ifdef LOGLUV_PUBLIC
#define U_NEU 0.210526316
#define V_NEU 0.473684211
#define UVSCALE 410.
-extern double LogL16toY(int);
-extern double LogL10toY(int);
-extern void XYZtoRGB24(float*, uint8*);
-extern int uv_decode(double*, double*, int);
-extern void LogLuv24toXYZ(uint32, float*);
-extern void LogLuv32toXYZ(uint32, float*);
+LIBTIFF_DLL_IMPEXP double LogL16toY(int);
+LIBTIFF_DLL_IMPEXP double LogL10toY(int);
+LIBTIFF_DLL_IMPEXP void XYZtoRGB24(float*, uint8*);
+LIBTIFF_DLL_IMPEXP int uv_decode(double*, double*, int);
+LIBTIFF_DLL_IMPEXP void LogLuv24toXYZ(uint32, float*);
+LIBTIFF_DLL_IMPEXP void LogLuv32toXYZ(uint32, float*);
#if defined(c_plusplus) || defined(__cplusplus)
-extern int LogL16fromY(double, int = SGILOGENCODE_NODITHER);
-extern int LogL10fromY(double, int = SGILOGENCODE_NODITHER);
-extern int uv_encode(double, double, int = SGILOGENCODE_NODITHER);
-extern uint32 LogLuv24fromXYZ(float*, int = SGILOGENCODE_NODITHER);
-extern uint32 LogLuv32fromXYZ(float*, int = SGILOGENCODE_NODITHER);
+LIBTIFF_DLL_IMPEXP int LogL16fromY(double, int = SGILOGENCODE_NODITHER);
+LIBTIFF_DLL_IMPEXP int LogL10fromY(double, int = SGILOGENCODE_NODITHER);
+LIBTIFF_DLL_IMPEXP int uv_encode(double, double, int = SGILOGENCODE_NODITHER);
+LIBTIFF_DLL_IMPEXP uint32 LogLuv24fromXYZ(float*, int = SGILOGENCODE_NODITHER);
+LIBTIFF_DLL_IMPEXP uint32 LogLuv32fromXYZ(float*, int = SGILOGENCODE_NODITHER);
#else
-extern int LogL16fromY(double, int);
-extern int LogL10fromY(double, int);
-extern int uv_encode(double, double, int);
-extern uint32 LogLuv24fromXYZ(float*, int);
-extern uint32 LogLuv32fromXYZ(float*, int);
+LIBTIFF_DLL_IMPEXP int LogL16fromY(double, int);
+LIBTIFF_DLL_IMPEXP int LogL10fromY(double, int);
+LIBTIFF_DLL_IMPEXP int uv_encode(double, double, int);
+LIBTIFF_DLL_IMPEXP uint32 LogLuv24fromXYZ(float*, int);
+LIBTIFF_DLL_IMPEXP uint32 LogLuv32fromXYZ(float*, int);
#endif
#endif /* LOGLUV_PUBLIC */
-extern int TIFFCIELabToRGBInit(TIFFCIELabToRGB*, TIFFDisplay *, float*);
-extern void TIFFCIELabToXYZ(TIFFCIELabToRGB *, uint32, int32, int32,
+LIBTIFF_DLL_IMPEXP int TIFFCIELabToRGBInit(TIFFCIELabToRGB*, TIFFDisplay *, float*);
+LIBTIFF_DLL_IMPEXP void TIFFCIELabToXYZ(TIFFCIELabToRGB *, uint32, int32, int32,
float *, float *, float *);
-extern void TIFFXYZToRGB(TIFFCIELabToRGB *, float, float, float,
+LIBTIFF_DLL_IMPEXP void TIFFXYZToRGB(TIFFCIELabToRGB *, float, float, float,
uint32 *, uint32 *, uint32 *);
-extern int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB*, float*, float*);
-extern void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *, uint32, int32, int32,
+LIBTIFF_DLL_IMPEXP int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB*, float*, float*);
+LIBTIFF_DLL_IMPEXP void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *, uint32, int32, int32,
uint32 *, uint32 *, uint32 *);
#if defined(c_plusplus) || defined(__cplusplus)

View file

@ -27,6 +27,30 @@
#ifndef _TIFFIO_
#define _TIFFIO_
#ifndef __GNUC__
# define __DLL_IMPORT__ __declspec(dllimport)
# define __DLL_EXPORT__ __declspec(dllexport)
#else
# define __DLL_IMPORT__ __attribute__((dllimport)) extern
# define __DLL_EXPORT__ __attribute__((dllexport)) extern
#endif
#if (defined __WIN32__) || (defined _WIN32)
# ifdef BUILD_LIBTIFF_DLL
# define LIBTIFF_DLL_IMPEXP __DLL_EXPORT__
# elif defined(LIBTIFF_STATIC)
# define LIBTIFF_DLL_IMPEXP
# elif defined (USE_LIBTIFF_DLL)
# define LIBTIFF_DLL_IMPEXP __DLL_IMPORT__
# elif defined (USE_LIBTIFF_STATIC)
# define LIBTIFF_DLL_IMPEXP
# else /* assume USE_LIBTIFF_DLL */
# define LIBTIFF_DLL_IMPEXP __DLL_IMPORT__
# endif
#else /* __WIN32__ */
# define LIBTIFF_DLL_IMPEXP
#endif
/*
* TIFF I/O Library Definitions.
*/
@ -80,10 +104,20 @@ typedef uint32 toff_t; /* file offset */
*/
#if defined(_WINDOWS) || defined(__WIN32__) || defined(_Windows)
# define BINMODE "b"
# if !defined(__CYGWIN) && !defined(AVOID_WIN32_FILEIO) && !defined(USE_WIN32_FILEIO)
# define AVOID_WIN32_FILEIO
# endif
#endif
# include <fcntl.h>
# include <io.h>
# ifdef SET_BINARY
# undef SET_BINARY
# endif /* SET_BINARY */
# define SET_BINARY(f) do {if (!_isatty(f)) _setmode(f,_O_BINARY);} while (0)
#else /* Windows */
# define BINMODE
# define SET_BINARY(f) (void)0
#endif /* Windows */
#if defined(USE_WIN32_FILEIO)
# define VC_EXTRALEAN
@ -268,30 +302,30 @@ typedef int (*TIFFMapFileProc)(thandle_t, tdata_t*, toff_t*);
typedef void (*TIFFUnmapFileProc)(thandle_t, tdata_t, toff_t);
typedef void (*TIFFExtendProc)(TIFF*);
extern const char* TIFFGetVersion(void);
LIBTIFF_DLL_IMPEXP const char* TIFFGetVersion(void);
extern const TIFFCodec* TIFFFindCODEC(uint16);
extern TIFFCodec* TIFFRegisterCODEC(uint16, const char*, TIFFInitMethod);
extern void TIFFUnRegisterCODEC(TIFFCodec*);
extern int TIFFIsCODECConfigured(uint16);
extern TIFFCodec* TIFFGetConfiguredCODECs(void);
LIBTIFF_DLL_IMPEXP const TIFFCodec* TIFFFindCODEC(uint16);
LIBTIFF_DLL_IMPEXP TIFFCodec* TIFFRegisterCODEC(uint16, const char*, TIFFInitMethod);
LIBTIFF_DLL_IMPEXP void TIFFUnRegisterCODEC(TIFFCodec*);
LIBTIFF_DLL_IMPEXP int TIFFIsCODECConfigured(uint16);
LIBTIFF_DLL_IMPEXP TIFFCodec* TIFFGetConfiguredCODECs(void);
/*
* Auxiliary functions.
*/
extern tdata_t _TIFFmalloc(tsize_t);
extern tdata_t _TIFFrealloc(tdata_t, tsize_t);
extern void _TIFFmemset(tdata_t, int, tsize_t);
extern void _TIFFmemcpy(tdata_t, const tdata_t, tsize_t);
extern int _TIFFmemcmp(const tdata_t, const tdata_t, tsize_t);
extern void _TIFFfree(tdata_t);
LIBTIFF_DLL_IMPEXP tdata_t _TIFFmalloc(tsize_t);
LIBTIFF_DLL_IMPEXP tdata_t _TIFFrealloc(tdata_t, tsize_t);
LIBTIFF_DLL_IMPEXP void _TIFFmemset(tdata_t, int, tsize_t);
LIBTIFF_DLL_IMPEXP void _TIFFmemcpy(tdata_t, const tdata_t, tsize_t);
LIBTIFF_DLL_IMPEXP int _TIFFmemcmp(const tdata_t, const tdata_t, tsize_t);
LIBTIFF_DLL_IMPEXP void _TIFFfree(tdata_t);
/*
** Stuff, related to tag handling and creating custom tags.
*/
extern int TIFFGetTagListCount( TIFF * );
extern ttag_t TIFFGetTagListEntry( TIFF *, int tag_index );
LIBTIFF_DLL_IMPEXP int TIFFGetTagListCount( TIFF * );
LIBTIFF_DLL_IMPEXP ttag_t TIFFGetTagListEntry( TIFF *, int tag_index );
#define TIFF_ANY TIFF_NOTYPE /* for field descriptor searching */
#define TIFF_VARIABLE -1 /* marker for variable length tags */
@ -317,12 +351,12 @@ typedef struct _TIFFTagValue {
void *value;
} TIFFTagValue;
extern void TIFFMergeFieldInfo(TIFF*, const TIFFFieldInfo[], int);
extern const TIFFFieldInfo* TIFFFindFieldInfo(TIFF*, ttag_t, TIFFDataType);
extern const TIFFFieldInfo* TIFFFindFieldInfoByName(TIFF* , const char *,
LIBTIFF_DLL_IMPEXP void TIFFMergeFieldInfo(TIFF*, const TIFFFieldInfo[], int);
LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFindFieldInfo(TIFF*, ttag_t, TIFFDataType);
LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFindFieldInfoByName(TIFF* , const char *,
TIFFDataType);
extern const TIFFFieldInfo* TIFFFieldWithTag(TIFF*, ttag_t);
extern const TIFFFieldInfo* TIFFFieldWithName(TIFF*, const char *);
LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFieldWithTag(TIFF*, ttag_t);
LIBTIFF_DLL_IMPEXP const TIFFFieldInfo* TIFFFieldWithName(TIFF*, const char *);
typedef int (*TIFFVSetMethod)(TIFF*, ttag_t, va_list);
typedef int (*TIFFVGetMethod)(TIFF*, ttag_t, va_list);
@ -334,180 +368,180 @@ typedef struct {
TIFFPrintMethod printdir; /* directory print routine */
} TIFFTagMethods;
extern TIFFTagMethods *TIFFAccessTagMethods( TIFF * );
extern void *TIFFGetClientInfo( TIFF *, const char * );
extern void TIFFSetClientInfo( TIFF *, void *, const char * );
LIBTIFF_DLL_IMPEXP TIFFTagMethods *TIFFAccessTagMethods( TIFF * );
LIBTIFF_DLL_IMPEXP void *TIFFGetClientInfo( TIFF *, const char * );
LIBTIFF_DLL_IMPEXP void TIFFSetClientInfo( TIFF *, void *, const char * );
extern void TIFFCleanup(TIFF*);
extern void TIFFClose(TIFF*);
extern int TIFFFlush(TIFF*);
extern int TIFFFlushData(TIFF*);
extern int TIFFGetField(TIFF*, ttag_t, ...);
extern int TIFFVGetField(TIFF*, ttag_t, va_list);
extern int TIFFGetFieldDefaulted(TIFF*, ttag_t, ...);
extern int TIFFVGetFieldDefaulted(TIFF*, ttag_t, va_list);
extern int TIFFReadDirectory(TIFF*);
extern int TIFFReadCustomDirectory(TIFF*, toff_t, const TIFFFieldInfo[],
LIBTIFF_DLL_IMPEXP void TIFFCleanup(TIFF*);
LIBTIFF_DLL_IMPEXP void TIFFClose(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFFlush(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFFlushData(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFGetField(TIFF*, ttag_t, ...);
LIBTIFF_DLL_IMPEXP int TIFFVGetField(TIFF*, ttag_t, va_list);
LIBTIFF_DLL_IMPEXP int TIFFGetFieldDefaulted(TIFF*, ttag_t, ...);
LIBTIFF_DLL_IMPEXP int TIFFVGetFieldDefaulted(TIFF*, ttag_t, va_list);
LIBTIFF_DLL_IMPEXP int TIFFReadDirectory(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFReadCustomDirectory(TIFF*, toff_t, const TIFFFieldInfo[],
size_t);
extern int TIFFReadEXIFDirectory(TIFF*, toff_t);
extern tsize_t TIFFScanlineSize(TIFF*);
extern tsize_t TIFFOldScanlineSize(TIFF*);
extern tsize_t TIFFNewScanlineSize(TIFF*);
extern tsize_t TIFFRasterScanlineSize(TIFF*);
extern tsize_t TIFFStripSize(TIFF*);
extern tsize_t TIFFRawStripSize(TIFF*, tstrip_t);
extern tsize_t TIFFVStripSize(TIFF*, uint32);
extern tsize_t TIFFTileRowSize(TIFF*);
extern tsize_t TIFFTileSize(TIFF*);
extern tsize_t TIFFVTileSize(TIFF*, uint32);
extern uint32 TIFFDefaultStripSize(TIFF*, uint32);
extern void TIFFDefaultTileSize(TIFF*, uint32*, uint32*);
extern int TIFFFileno(TIFF*);
extern int TIFFSetFileno(TIFF*, int);
extern thandle_t TIFFClientdata(TIFF*);
extern thandle_t TIFFSetClientdata(TIFF*, thandle_t);
extern int TIFFGetMode(TIFF*);
extern int TIFFSetMode(TIFF*, int);
extern int TIFFIsTiled(TIFF*);
extern int TIFFIsByteSwapped(TIFF*);
extern int TIFFIsUpSampled(TIFF*);
extern int TIFFIsMSB2LSB(TIFF*);
extern int TIFFIsBigEndian(TIFF*);
extern TIFFReadWriteProc TIFFGetReadProc(TIFF*);
extern TIFFReadWriteProc TIFFGetWriteProc(TIFF*);
extern TIFFSeekProc TIFFGetSeekProc(TIFF*);
extern TIFFCloseProc TIFFGetCloseProc(TIFF*);
extern TIFFSizeProc TIFFGetSizeProc(TIFF*);
extern TIFFMapFileProc TIFFGetMapFileProc(TIFF*);
extern TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF*);
extern uint32 TIFFCurrentRow(TIFF*);
extern tdir_t TIFFCurrentDirectory(TIFF*);
extern tdir_t TIFFNumberOfDirectories(TIFF*);
extern uint32 TIFFCurrentDirOffset(TIFF*);
extern tstrip_t TIFFCurrentStrip(TIFF*);
extern ttile_t TIFFCurrentTile(TIFF*);
extern int TIFFReadBufferSetup(TIFF*, tdata_t, tsize_t);
extern int TIFFWriteBufferSetup(TIFF*, tdata_t, tsize_t);
extern int TIFFSetupStrips(TIFF *);
extern int TIFFWriteCheck(TIFF*, int, const char *);
extern void TIFFFreeDirectory(TIFF*);
extern int TIFFCreateDirectory(TIFF*);
extern int TIFFLastDirectory(TIFF*);
extern int TIFFSetDirectory(TIFF*, tdir_t);
extern int TIFFSetSubDirectory(TIFF*, uint32);
extern int TIFFUnlinkDirectory(TIFF*, tdir_t);
extern int TIFFSetField(TIFF*, ttag_t, ...);
extern int TIFFVSetField(TIFF*, ttag_t, va_list);
extern int TIFFWriteDirectory(TIFF *);
extern int TIFFCheckpointDirectory(TIFF *);
extern int TIFFRewriteDirectory(TIFF *);
extern int TIFFReassignTagToIgnore(enum TIFFIgnoreSense, int);
LIBTIFF_DLL_IMPEXP int TIFFReadEXIFDirectory(TIFF*, toff_t);
LIBTIFF_DLL_IMPEXP tsize_t TIFFScanlineSize(TIFF*);
LIBTIFF_DLL_IMPEXP tsize_t TIFFOldScanlineSize(TIFF*);
LIBTIFF_DLL_IMPEXP tsize_t TIFFNewScanlineSize(TIFF*);
LIBTIFF_DLL_IMPEXP tsize_t TIFFRasterScanlineSize(TIFF*);
LIBTIFF_DLL_IMPEXP tsize_t TIFFStripSize(TIFF*);
LIBTIFF_DLL_IMPEXP tsize_t TIFFRawStripSize(TIFF*, tstrip_t);
LIBTIFF_DLL_IMPEXP tsize_t TIFFVStripSize(TIFF*, uint32);
LIBTIFF_DLL_IMPEXP tsize_t TIFFTileRowSize(TIFF*);
LIBTIFF_DLL_IMPEXP tsize_t TIFFTileSize(TIFF*);
LIBTIFF_DLL_IMPEXP tsize_t TIFFVTileSize(TIFF*, uint32);
LIBTIFF_DLL_IMPEXP uint32 TIFFDefaultStripSize(TIFF*, uint32);
LIBTIFF_DLL_IMPEXP void TIFFDefaultTileSize(TIFF*, uint32*, uint32*);
LIBTIFF_DLL_IMPEXP int TIFFFileno(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFSetFileno(TIFF*, int);
LIBTIFF_DLL_IMPEXP thandle_t TIFFClientdata(TIFF*);
LIBTIFF_DLL_IMPEXP thandle_t TIFFSetClientdata(TIFF*, thandle_t);
LIBTIFF_DLL_IMPEXP int TIFFGetMode(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFSetMode(TIFF*, int);
LIBTIFF_DLL_IMPEXP int TIFFIsTiled(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFIsByteSwapped(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFIsUpSampled(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFIsMSB2LSB(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFIsBigEndian(TIFF*);
LIBTIFF_DLL_IMPEXP TIFFReadWriteProc TIFFGetReadProc(TIFF*);
LIBTIFF_DLL_IMPEXP TIFFReadWriteProc TIFFGetWriteProc(TIFF*);
LIBTIFF_DLL_IMPEXP TIFFSeekProc TIFFGetSeekProc(TIFF*);
LIBTIFF_DLL_IMPEXP TIFFCloseProc TIFFGetCloseProc(TIFF*);
LIBTIFF_DLL_IMPEXP TIFFSizeProc TIFFGetSizeProc(TIFF*);
LIBTIFF_DLL_IMPEXP TIFFMapFileProc TIFFGetMapFileProc(TIFF*);
LIBTIFF_DLL_IMPEXP TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF*);
LIBTIFF_DLL_IMPEXP uint32 TIFFCurrentRow(TIFF*);
LIBTIFF_DLL_IMPEXP tdir_t TIFFCurrentDirectory(TIFF*);
LIBTIFF_DLL_IMPEXP tdir_t TIFFNumberOfDirectories(TIFF*);
LIBTIFF_DLL_IMPEXP uint32 TIFFCurrentDirOffset(TIFF*);
LIBTIFF_DLL_IMPEXP tstrip_t TIFFCurrentStrip(TIFF*);
LIBTIFF_DLL_IMPEXP ttile_t TIFFCurrentTile(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFReadBufferSetup(TIFF*, tdata_t, tsize_t);
LIBTIFF_DLL_IMPEXP int TIFFWriteBufferSetup(TIFF*, tdata_t, tsize_t);
LIBTIFF_DLL_IMPEXP int TIFFSetupStrips(TIFF *);
LIBTIFF_DLL_IMPEXP int TIFFWriteCheck(TIFF*, int, const char *);
LIBTIFF_DLL_IMPEXP void TIFFFreeDirectory(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFCreateDirectory(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFLastDirectory(TIFF*);
LIBTIFF_DLL_IMPEXP int TIFFSetDirectory(TIFF*, tdir_t);
LIBTIFF_DLL_IMPEXP int TIFFSetSubDirectory(TIFF*, uint32);
LIBTIFF_DLL_IMPEXP int TIFFUnlinkDirectory(TIFF*, tdir_t);
LIBTIFF_DLL_IMPEXP int TIFFSetField(TIFF*, ttag_t, ...);
LIBTIFF_DLL_IMPEXP int TIFFVSetField(TIFF*, ttag_t, va_list);
LIBTIFF_DLL_IMPEXP int TIFFWriteDirectory(TIFF *);
LIBTIFF_DLL_IMPEXP int TIFFCheckpointDirectory(TIFF *);
LIBTIFF_DLL_IMPEXP int TIFFRewriteDirectory(TIFF *);
LIBTIFF_DLL_IMPEXP int TIFFReassignTagToIgnore(enum TIFFIgnoreSense, int);
#if defined(c_plusplus) || defined(__cplusplus)
extern void TIFFPrintDirectory(TIFF*, FILE*, long = 0);
extern int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
extern int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
extern int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int = 0);
extern int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*,
LIBTIFF_DLL_IMPEXP void TIFFPrintDirectory(TIFF*, FILE*, long = 0);
LIBTIFF_DLL_IMPEXP int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
LIBTIFF_DLL_IMPEXP int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t = 0);
LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int = 0);
LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*,
int = ORIENTATION_BOTLEFT, int = 0);
#else
extern void TIFFPrintDirectory(TIFF*, FILE*, long);
extern int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t);
extern int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t);
extern int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int);
extern int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*, int, int);
LIBTIFF_DLL_IMPEXP void TIFFPrintDirectory(TIFF*, FILE*, long);
LIBTIFF_DLL_IMPEXP int TIFFReadScanline(TIFF*, tdata_t, uint32, tsample_t);
LIBTIFF_DLL_IMPEXP int TIFFWriteScanline(TIFF*, tdata_t, uint32, tsample_t);
LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImage(TIFF*, uint32, uint32, uint32*, int);
LIBTIFF_DLL_IMPEXP int TIFFReadRGBAImageOriented(TIFF*, uint32, uint32, uint32*, int, int);
#endif
extern int TIFFReadRGBAStrip(TIFF*, tstrip_t, uint32 * );
extern int TIFFReadRGBATile(TIFF*, uint32, uint32, uint32 * );
extern int TIFFRGBAImageOK(TIFF*, char [1024]);
extern int TIFFRGBAImageBegin(TIFFRGBAImage*, TIFF*, int, char [1024]);
extern int TIFFRGBAImageGet(TIFFRGBAImage*, uint32*, uint32, uint32);
extern void TIFFRGBAImageEnd(TIFFRGBAImage*);
extern TIFF* TIFFOpen(const char*, const char*);
LIBTIFF_DLL_IMPEXP int TIFFReadRGBAStrip(TIFF*, tstrip_t, uint32 * );
LIBTIFF_DLL_IMPEXP int TIFFReadRGBATile(TIFF*, uint32, uint32, uint32 * );
LIBTIFF_DLL_IMPEXP int TIFFRGBAImageOK(TIFF*, char [1024]);
LIBTIFF_DLL_IMPEXP int TIFFRGBAImageBegin(TIFFRGBAImage*, TIFF*, int, char [1024]);
LIBTIFF_DLL_IMPEXP int TIFFRGBAImageGet(TIFFRGBAImage*, uint32*, uint32, uint32);
LIBTIFF_DLL_IMPEXP void TIFFRGBAImageEnd(TIFFRGBAImage*);
LIBTIFF_DLL_IMPEXP TIFF* TIFFOpen(const char*, const char*);
# ifdef __WIN32__
extern TIFF* TIFFOpenW(const wchar_t*, const char*);
LIBTIFF_DLL_IMPEXP TIFF* TIFFOpenW(const wchar_t*, const char*);
# endif /* __WIN32__ */
extern TIFF* TIFFFdOpen(int, const char*, const char*);
extern TIFF* TIFFClientOpen(const char*, const char*,
LIBTIFF_DLL_IMPEXP TIFF* TIFFFdOpen(int, const char*, const char*);
LIBTIFF_DLL_IMPEXP TIFF* TIFFClientOpen(const char*, const char*,
thandle_t,
TIFFReadWriteProc, TIFFReadWriteProc,
TIFFSeekProc, TIFFCloseProc,
TIFFSizeProc,
TIFFMapFileProc, TIFFUnmapFileProc);
extern const char* TIFFFileName(TIFF*);
extern const char* TIFFSetFileName(TIFF*, const char *);
extern void TIFFError(const char*, const char*, ...) __attribute__((format (printf,2,3)));
extern void TIFFErrorExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
extern void TIFFWarning(const char*, const char*, ...) __attribute__((format (printf,2,3)));
extern void TIFFWarningExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
extern TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler);
extern TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt);
extern TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler);
extern TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt);
extern TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc);
extern ttile_t TIFFComputeTile(TIFF*, uint32, uint32, uint32, tsample_t);
extern int TIFFCheckTile(TIFF*, uint32, uint32, uint32, tsample_t);
extern ttile_t TIFFNumberOfTiles(TIFF*);
extern tsize_t TIFFReadTile(TIFF*,
LIBTIFF_DLL_IMPEXP const char* TIFFFileName(TIFF*);
LIBTIFF_DLL_IMPEXP const char* TIFFSetFileName(TIFF*, const char *);
LIBTIFF_DLL_IMPEXP void TIFFError(const char*, const char*, ...) __attribute__((format (printf,2,3)));
LIBTIFF_DLL_IMPEXP void TIFFErrorExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
LIBTIFF_DLL_IMPEXP void TIFFWarning(const char*, const char*, ...) __attribute__((format (printf,2,3)));
LIBTIFF_DLL_IMPEXP void TIFFWarningExt(thandle_t, const char*, const char*, ...) __attribute__((format (printf,3,4)));
LIBTIFF_DLL_IMPEXP TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler);
LIBTIFF_DLL_IMPEXP TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt);
LIBTIFF_DLL_IMPEXP TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler);
LIBTIFF_DLL_IMPEXP TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt);
LIBTIFF_DLL_IMPEXP TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc);
LIBTIFF_DLL_IMPEXP ttile_t TIFFComputeTile(TIFF*, uint32, uint32, uint32, tsample_t);
LIBTIFF_DLL_IMPEXP int TIFFCheckTile(TIFF*, uint32, uint32, uint32, tsample_t);
LIBTIFF_DLL_IMPEXP ttile_t TIFFNumberOfTiles(TIFF*);
LIBTIFF_DLL_IMPEXP tsize_t TIFFReadTile(TIFF*,
tdata_t, uint32, uint32, uint32, tsample_t);
extern tsize_t TIFFWriteTile(TIFF*,
LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteTile(TIFF*,
tdata_t, uint32, uint32, uint32, tsample_t);
extern tstrip_t TIFFComputeStrip(TIFF*, uint32, tsample_t);
extern tstrip_t TIFFNumberOfStrips(TIFF*);
extern tsize_t TIFFReadEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
extern tsize_t TIFFReadRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
extern tsize_t TIFFReadEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
extern tsize_t TIFFReadRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
extern tsize_t TIFFWriteEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
extern tsize_t TIFFWriteRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
extern tsize_t TIFFWriteEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
extern tsize_t TIFFWriteRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
extern int TIFFDataWidth(TIFFDataType); /* table of tag datatype widths */
extern void TIFFSetWriteOffset(TIFF*, toff_t);
extern void TIFFSwabShort(uint16*);
extern void TIFFSwabLong(uint32*);
extern void TIFFSwabDouble(double*);
extern void TIFFSwabArrayOfShort(uint16*, unsigned long);
extern void TIFFSwabArrayOfTriples(uint8*, unsigned long);
extern void TIFFSwabArrayOfLong(uint32*, unsigned long);
extern void TIFFSwabArrayOfDouble(double*, unsigned long);
extern void TIFFReverseBits(unsigned char *, unsigned long);
extern const unsigned char* TIFFGetBitRevTable(int);
LIBTIFF_DLL_IMPEXP tstrip_t TIFFComputeStrip(TIFF*, uint32, tsample_t);
LIBTIFF_DLL_IMPEXP tstrip_t TIFFNumberOfStrips(TIFF*);
LIBTIFF_DLL_IMPEXP tsize_t TIFFReadEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
LIBTIFF_DLL_IMPEXP tsize_t TIFFReadRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
LIBTIFF_DLL_IMPEXP tsize_t TIFFReadEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
LIBTIFF_DLL_IMPEXP tsize_t TIFFReadRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteEncodedStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteRawStrip(TIFF*, tstrip_t, tdata_t, tsize_t);
LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteEncodedTile(TIFF*, ttile_t, tdata_t, tsize_t);
LIBTIFF_DLL_IMPEXP tsize_t TIFFWriteRawTile(TIFF*, ttile_t, tdata_t, tsize_t);
LIBTIFF_DLL_IMPEXP int TIFFDataWidth(TIFFDataType); /* table of tag datatype widths */
LIBTIFF_DLL_IMPEXP void TIFFSetWriteOffset(TIFF*, toff_t);
LIBTIFF_DLL_IMPEXP void TIFFSwabShort(uint16*);
LIBTIFF_DLL_IMPEXP void TIFFSwabLong(uint32*);
LIBTIFF_DLL_IMPEXP void TIFFSwabDouble(double*);
LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfShort(uint16*, unsigned long);
LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfTriples(uint8*, unsigned long);
LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfLong(uint32*, unsigned long);
LIBTIFF_DLL_IMPEXP void TIFFSwabArrayOfDouble(double*, unsigned long);
LIBTIFF_DLL_IMPEXP void TIFFReverseBits(unsigned char *, unsigned long);
LIBTIFF_DLL_IMPEXP const unsigned char* TIFFGetBitRevTable(int);
#ifdef LOGLUV_PUBLIC
#define U_NEU 0.210526316
#define V_NEU 0.473684211
#define UVSCALE 410.
extern double LogL16toY(int);
extern double LogL10toY(int);
extern void XYZtoRGB24(float*, uint8*);
extern int uv_decode(double*, double*, int);
extern void LogLuv24toXYZ(uint32, float*);
extern void LogLuv32toXYZ(uint32, float*);
LIBTIFF_DLL_IMPEXP double LogL16toY(int);
LIBTIFF_DLL_IMPEXP double LogL10toY(int);
LIBTIFF_DLL_IMPEXP void XYZtoRGB24(float*, uint8*);
LIBTIFF_DLL_IMPEXP int uv_decode(double*, double*, int);
LIBTIFF_DLL_IMPEXP void LogLuv24toXYZ(uint32, float*);
LIBTIFF_DLL_IMPEXP void LogLuv32toXYZ(uint32, float*);
#if defined(c_plusplus) || defined(__cplusplus)
extern int LogL16fromY(double, int = SGILOGENCODE_NODITHER);
extern int LogL10fromY(double, int = SGILOGENCODE_NODITHER);
extern int uv_encode(double, double, int = SGILOGENCODE_NODITHER);
extern uint32 LogLuv24fromXYZ(float*, int = SGILOGENCODE_NODITHER);
extern uint32 LogLuv32fromXYZ(float*, int = SGILOGENCODE_NODITHER);
LIBTIFF_DLL_IMPEXP int LogL16fromY(double, int = SGILOGENCODE_NODITHER);
LIBTIFF_DLL_IMPEXP int LogL10fromY(double, int = SGILOGENCODE_NODITHER);
LIBTIFF_DLL_IMPEXP int uv_encode(double, double, int = SGILOGENCODE_NODITHER);
LIBTIFF_DLL_IMPEXP uint32 LogLuv24fromXYZ(float*, int = SGILOGENCODE_NODITHER);
LIBTIFF_DLL_IMPEXP uint32 LogLuv32fromXYZ(float*, int = SGILOGENCODE_NODITHER);
#else
extern int LogL16fromY(double, int);
extern int LogL10fromY(double, int);
extern int uv_encode(double, double, int);
extern uint32 LogLuv24fromXYZ(float*, int);
extern uint32 LogLuv32fromXYZ(float*, int);
LIBTIFF_DLL_IMPEXP int LogL16fromY(double, int);
LIBTIFF_DLL_IMPEXP int LogL10fromY(double, int);
LIBTIFF_DLL_IMPEXP int uv_encode(double, double, int);
LIBTIFF_DLL_IMPEXP uint32 LogLuv24fromXYZ(float*, int);
LIBTIFF_DLL_IMPEXP uint32 LogLuv32fromXYZ(float*, int);
#endif
#endif /* LOGLUV_PUBLIC */
extern int TIFFCIELabToRGBInit(TIFFCIELabToRGB*, TIFFDisplay *, float*);
extern void TIFFCIELabToXYZ(TIFFCIELabToRGB *, uint32, int32, int32,
LIBTIFF_DLL_IMPEXP int TIFFCIELabToRGBInit(TIFFCIELabToRGB*, TIFFDisplay *, float*);
LIBTIFF_DLL_IMPEXP void TIFFCIELabToXYZ(TIFFCIELabToRGB *, uint32, int32, int32,
float *, float *, float *);
extern void TIFFXYZToRGB(TIFFCIELabToRGB *, float, float, float,
LIBTIFF_DLL_IMPEXP void TIFFXYZToRGB(TIFFCIELabToRGB *, float, float, float,
uint32 *, uint32 *, uint32 *);
extern int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB*, float*, float*);
extern void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *, uint32, int32, int32,
LIBTIFF_DLL_IMPEXP int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB*, float*, float*);
LIBTIFF_DLL_IMPEXP void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *, uint32, int32, int32,
uint32 *, uint32 *, uint32 *);
#if defined(c_plusplus) || defined(__cplusplus)

View file

@ -491,7 +491,7 @@ ExFreeCacheAwareRundownProtection(IN PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAwar
VOID
NTAPI
ExInitializeRundownProtectionCacheAware(IN PEX_RUNDOWN_REF_CACHE_AWARE RunRefCacheAware,
IN ULONG Count)
IN SIZE_T Count)
{
DBG_UNREFERENCED_PARAMETER(RunRefCacheAware);
DBG_UNREFERENCED_PARAMETER(Count);

View file

@ -316,9 +316,6 @@ KiThreadStartup(PKSYSTEM_ROUTINE SystemRoutine,
#endif /* __ASM__ */
#undef KeGetCurrentThread
#define _KeGetCurrentThread KeGetCurrentThread
// HACK
extern NTKERNELAPI volatile KSYSTEM_TIME KeTickCount;

View file

@ -17,7 +17,7 @@ extern UCHAR MmDisablePagingExecutive;
extern ULONG MmLowestPhysicalPage;
extern ULONG MmHighestPhysicalPage;
extern ULONG MmAvailablePages;
extern ULONG MmResidentAvailablePages;
extern PFN_NUMBER MmResidentAvailablePages;
extern PVOID MmPagedPoolBase;
extern ULONG MmPagedPoolSize;

View file

@ -13,6 +13,12 @@
#define DbgPrint DbgPrintEarly
#endif
/* WDK hacks */
#ifdef _M_AMD64
#define IoAllocateAdapterChannel _IoAllocateAdapterChannel
#define KeGetCurrentThread _KeGetCurrentThread
#endif
/* Version Data */
#undef __MSVCRT__
#include <psdk/ntverp.h>

View file

@ -21,6 +21,7 @@ ULONG IoDeviceHandlerObjectSize;
/* FUNCTIONS *****************************************************************/
#undef IoAllocateAdapterChannel
/*
* @implemented
*/

View file

@ -526,14 +526,14 @@ KDDEBUGGER_DATA64 KdDebuggerDataBlock =
//
// AMD64 GDT/LDT/TSS constants
//
KGDT_64_R0_CODE,
KGDT_64_DATA,
KGDT_64_DATA,
KGDT_64_R3_CODE,
KGDT_64_DATA,
KGDT_64_DATA,
KGDT64_R0_CODE,
KGDT64_R3_DATA,
KGDT64_R3_DATA,
KGDT64_R3_CODE,
KGDT64_R3_DATA,
KGDT64_R3_DATA,
0,
KGDT_TSS,
KGDT64_SYS_TSS,
0,
0,
#else

View file

@ -175,6 +175,7 @@ KeQueryTickCount(IN PLARGE_INTEGER TickCount)
}
}
#ifndef _M_AMD64
/*
* @implemented
*/
@ -217,6 +218,7 @@ KeQueryInterruptTime(VOID)
/* Return the time value */
return CurrentTime.QuadPart;
}
#endif
/*
* @implemented

View file

@ -6,6 +6,8 @@
* PROGRAMMERS: ReactOS Portable Systems Group
*/
#ifndef _M_AMD64
#define MI_MIN_PAGES_FOR_NONPAGED_POOL_TUNING ((255*1024*1024) >> PAGE_SHIFT)
#define MI_MIN_PAGES_FOR_SYSPTE_TUNING ((19*1024*1024) >> PAGE_SHIFT)
#define MI_MIN_PAGES_FOR_SYSPTE_BOOST ((32*1024*1024) >> PAGE_SHIFT)
@ -38,6 +40,8 @@
#define MM_HIGHEST_VAD_ADDRESS \
(PVOID)((ULONG_PTR)MM_HIGHEST_USER_ADDRESS - (16 * PAGE_SIZE))
#endif /* !_M_AMD64 */
/* Make the code cleaner with some definitions for size multiples */
#define _1KB (1024)
#define _1MB (1024 * _1KB)
@ -58,7 +62,9 @@
#define PDE_COUNT 4096
#define PTE_COUNT 256
#else
#error Define these please!
#define PD_COUNT PPE_PER_PAGE
#define PDE_COUNT PDE_PER_PAGE
#define PTE_COUNT PTE_PER_PAGE
#endif
#ifdef _M_IX86

View file

@ -26,7 +26,7 @@ int FASTCALL
CLIPPING_UpdateGCRegion(DC* Dc)
{
PROSRGNDATA CombinedRegion;
HRGN hRgnVis = NULL;
HRGN hRgnVis = Dc->prgnVis->BaseObject.hHmgr;
// would prefer this, but the rest of the code sucks
// ASSERT(Dc->rosdc.hGCClipRgn);
@ -45,7 +45,7 @@ CLIPPING_UpdateGCRegion(DC* Dc)
Dc->rosdc.hGCClipRgn = IntSysCreateRectRgn(0, 0, 0, 0);
if (Dc->rosdc.hClipRgn == NULL)
NtGdiCombineRgn(Dc->rosdc.hGCClipRgn, ((PROSRGNDATA)Dc->prgnVis)->BaseObject.hHmgr, 0, RGN_COPY);
NtGdiCombineRgn(Dc->rosdc.hGCClipRgn, hRgnVis, 0, RGN_COPY);
else
NtGdiCombineRgn(Dc->rosdc.hGCClipRgn, Dc->rosdc.hClipRgn, hRgnVis, RGN_AND);