winhlp32: Added support for macros as hotspots' target.

This commit is contained in:
Eric Pouech 2009-11-08 15:04:59 +01:00 committed by Alexandre Julliard
parent 38df8cfb04
commit 3fac812bd9
1 changed files with 14 additions and 8 deletions

View File

@ -797,29 +797,35 @@ static void HLPFILE_AddHotSpotLinks(struct RtfData* rd, HLPFILE* file,
*/
str += strlen(str) + 1; /* skip hotspot name */
hslink = NULL;
switch (start[7 + 15 * i + 0])
/* The next two chars always look like 0x04 0x00 ???
* What are they for ?
*/
{
case 0xC8:
hslink = (HLPFILE_HOTSPOTLINK*)
HLPFILE_AllocLink(rd, hlp_link_macro, str, -1, 0, 0, 1, -1);
break;
case 0xE6:
case 0xE7:
hslink = (HLPFILE_HOTSPOTLINK*)
HLPFILE_AllocLink(rd, (start[7 + 15 * i + 0] & 1) ? hlp_link_link : hlp_link_popup,
file->lpszPath, -1, HLPFILE_Hash(str),
0, 1, -1);
if (hslink)
{
hslink->x = GET_USHORT(start, 7 + 15 * i + 3);
hslink->y = GET_USHORT(start, 7 + 15 * i + 5);
hslink->width = GET_USHORT(start, 7 + 15 * i + 7);
hslink->height = GET_USHORT(start, 7 + 15 * i + 9);
/* target = GET_UINT(start, 7 + 15 * i + 11); */
}
break;
default:
WINE_FIXME("unknown hotsport target 0x%x\n", start[7 + 15 * i + 0]);
}
if (hslink)
{
hslink->x = GET_USHORT(start, 7 + 15 * i + 3);
hslink->y = GET_USHORT(start, 7 + 15 * i + 5);
hslink->width = GET_USHORT(start, 7 + 15 * i + 7);
hslink->height = GET_USHORT(start, 7 + 15 * i + 9);
/* target = GET_UINT(start, 7 + 15 * i + 11); */
}
str += strlen(str) + 1;
}
}