-
Notifications
You must be signed in to change notification settings - Fork 3
/
listing16.html
executable file
·274 lines (234 loc) · 12 KB
/
listing16.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<!-- BEGIN META TAG INFO -->
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<link rel="home" href="http://developer.apple.com/">
<link rel="find" href="http://developer.apple.com/search/">
<link rel="stylesheet" type="text/css" href="../../documentation/css/adcstyle.css" title="fonts">
<script language="JavaScript" src="../../documentation/js/adc.js" type="text/javascript"></script>
<!-- END META TAG INFO -->
<!-- BEGIN TITLE -->
<title>HTMLSample - /HTMLSample Pages/docs/intro.html</title>
<!-- END TITLE -->
<script language="JavaScript">
function JumpToNewPage() {
window.location=document.scpopupmenu.gotop.value;
return true;
}
</script>
</head>
<!-- BEGIN BODY OPEN -->
<body>
<!--END BODY OPEN -->
<!-- START CENTER OPEN -->
<center>
<!-- END CENTER OPEN -->
<!-- BEGIN LOGO AND SEARCH -->
<!--#include virtual="/includes/adcnavbar"-->
<!-- END LOGO AND SEARCH -->
<!-- START BREADCRUMB -->
<div id="breadcrumb">
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr>
<td scope="row"><img width="340" height="10" src="images/1dot.gif" alt=""></td>
<td><img width="340" height="10" src="images/1dot.gif" alt=""></td>
</tr>
<tr valign="middle">
<td align="left" colspan="2">
<a href="http://developer.apple.com/">ADC Home</a> > <a href="../../referencelibrary/index.html">Reference Library</a> > <a href="../../samplecode/index.html">Sample Code</a> > <a href="../../samplecode/Carbon/index.html">Carbon</a> > <a href="../../samplecode/Carbon/idxUserExperience-date.html">User Experience</a> > <A HREF="javascript:location.replace('index.html');">HTMLSample</A> >
</td>
</tr>
<tr>
<td colspan="2" scope="row"><img width="680" height="35" src="images/1dot.gif" alt=""></td>
</tr>
</table>
</div>
<!-- END BREADCRUMB -->
<div style="width:100%; position:fixed;"><div align="center" id="watermark" style="position: relative; margin-left:auto; margin-right:auto; z-index:20; width:500px;"><div class="legacybox"><h1>Not Recommended Document<span class=closebutton><a href="javascript:closeWatermark()"><img src="../../images/closebutton.png" width="14" height="14" border="0" alt="close button"></a></span></h1>
<p><strong>Important: </strong>The information in this document is <strong>Not Recommended</strong> and should not be used for new development.</p>
<div class="reflibtopic">
<p>Current information on this Reference Library topic can be found here:</p>
<ul>
<li><a href="http://developer.apple.com/referencelibrary/Carbon/idxUserExperience-date.html" target="_blank">Carbon > User Experience</a></li>
</ul>
</div>
</div></div></div>
<!-- START MAIN CONTENT -->
<!-- START TITLE GRAPHIC AND INTRO-->
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr align="left" valign="top">
<td><h1><div id="pagehead">HTMLSample</div></h1></td>
</tr>
</table>
<!-- END TITLE GRAPHIC AND INTRO -->
<!-- START WIDE COLUMN -->
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr align="left" valign="top">
<td id="scdetails">
<h2>/HTMLSample Pages/docs/intro.html</h2>
<form name="scpopupmenu" onSubmit="return false;" method=post>
<p><strong>View Source Code:</strong>
<select name="gotop" onChange="JumpToNewPage();" style="width:340px"><option selected value="ingnore">Select File</option>
<option value="listing1.html">/AboutBox.c</option>
<option value="listing2.html">/AboutBox.h</option>
<option value="listing3.html">/CIconButtons.c</option>
<option value="listing4.html">/CIconButtons.h</option>
<option value="listing5.html">/CWDefines.h</option>
<option value="listing6.html">/debugf.c</option>
<option value="listing7.html">/debugf.h</option>
<option value="listing8.html">/History.c</option>
<option value="listing9.html">/History.h</option>
<option value="listing10.html">/HTMLSample Help/buttons.html</option>
<option value="listing11.html">/HTMLSample Help/index.html</option>
<option value="listing12.html">/HTMLSample Pages/docs/display.html</option>
<option value="listing13.html">/HTMLSample Pages/docs/drawing.html</option>
<option value="listing14.html">/HTMLSample Pages/docs/generalroutines.html</option>
<option value="listing15.html">/HTMLSample Pages/docs/index.html</option>
<option value="listing16.html">/HTMLSample Pages/docs/intro.html</option>
<option value="listing17.html">/HTMLSample Pages/docs/types.html</option>
<option value="listing18.html">/HTMLSample Pages/docs/userdefined.html</option>
<option value="listing19.html">/HTMLSample Pages/docs/utilities.html</option>
<option value="listing20.html">/HTMLSample Pages/error.html</option>
<option value="listing21.html">/HTMLSample Pages/index.html</option>
<option value="listing22.html">/HTMLSample.c</option>
<option value="listing23.html">/HTMLSample.h</option>
<option value="listing24.html">/HTMLSample.r</option>
<option value="listing25.html">/RenderingWindow.c</option>
<option value="listing26.html">/RenderingWindow.h</option>
<option value="listing27.html">/SampleUtils.c</option>
<option value="listing28.html">/SampleUtils.h</option></select>
</p>
</form>
<p><strong><a href="HTMLSample.zip">Download Sample</a></strong> (“HTMLSample.zip”, 279.4K)<BR>
<strong><a href="HTMLSample.dmg">Download Sample</a></strong> (“HTMLSample.dmg”, 330.4K)</p>
<!--
<p><strong><a href="#">Download Sample</a></strong> (“filename.sit”, 500K)</p>
-->
</td>
</tr>
<tr>
<td scope="row"><img width="680" height="10" src="images/1dot.gif" alt=""><br>
<img height="1" width="680" src="images/1dot_919699.gif" alt=""><br>
<img width="680" height="20" src="images/1dot.gif" alt=""></td>
</tr>
<tr>
<td scope="row">
<!--googleon: index -->
<pre class="sourcecodebox"><HTML><HEAD> <TITLE>HTMLRenderingLib Guide</TITLE></HEAD><BODY BGCOLOR="#FFFFFF"><H1>Guide to the HTML Rendering Library</H1><P>&nbsp;</P><H3>Overview</H3><P>The HTMLRenderingLib provides facilities allowing developers todraw HTML files. The library provides a facility developers can useto display HTML based help content in their applications orapplication packages.</P><P>The HTML rendering library provides HTML rendering objects that dothe actual HTML drawing. Routines are provided allowing applicationsto create and manipultate rendering objects. These objects arereferenced through an opaque data type called an <A HREF="types.html#HRReference">HRReference</A>.The actual implementation and details of how the rendering objectworks and the data it stores are kept hidden from client applictionsand the only way to manipulate these objects is by using the routinesprovided by the library.</P><P>Routines are provided for handling events directed at HTML datadisplayed on the screen. Most of the work required for maintaining anarea of the screen set aside for an HTML rendering object is handledby the HTML rendering library in the routine <A HREF="generalroutines.html#HRIsHREvent">HRIsHREvent</A>.At the very least, in an event handling routine an application willneed to call the HTML rendering library in response to update events(by calling <A HREF="drawing.html#HRDraw">HRDraw</A>) and activateevents (by calling <A HREF="drawing.html#HRActivate">HRActivate</A>or <A HREF="drawing.html#HRDeactivate">HRDeactivate</A>).</P><P>To speed drawing and redrawing the library maintains a memorybased cache of previously viewed images and HTML data. This cache ismaintained inside of the application's heap zone and will grow aspages are viewed. Left unchecked, the cache has the potential to growuntil the entire heap zone has been consumed. But, it is possible toreclaim some of this storage by calling the <A HREF="generalroutines.html#HRFreeMemory">HRFreeMemory</A>routine. This routine will release memory occupied by the cache forother uses in an application.</P><P>The display characteristics for HTML rendering objects, such asit's location on screen, the GrafPort where the HTML image is to bedrawn, the state of the scroll bars, et cetera, can be modified byapplication clients. Also, a routine is provided that allowsapplications to query the actual size of the HTML image after it hasbeen drawn by an HTML rendering object.</P><P>As one would expect, the HTML rendering library includes a set ofroutines for directing HTML rendering objects to display URLs and forscrolling the display to specific anchors. Also, it is possible torender HTML data directly from memory rather than using a file. Alongwith these routines, there are a set of utility routines formanipulating URLs and easily creating URLs that refer to Macintoshfiles.</P><P>For managing visited links, the rendering library allowsapplications to associate callbacks with HTML rendering objects. TheHTML rendering library calls these routines either when it needs toknow if a link has been visited or whenever it is moving the displayto a new page.</P><P>In applications where it is appropriate to provided your owncustom URL to Macintosh file mapping scheme, it is possible toassociate a callback with a HTML rendering object that the HTMLrendering library will call to map URLs to Macintosh files.</P><P><A NAME=tips></A></P><P>&nbsp;</P><H3>Programming Tips</H3><P>HTMLRenderingLib is by no means a full scale HTML environment andshould not be used as a general HTML rendering engine. In particular,it should not be used for displaying extreemly large HTML files.Always test the content you intend to display using theHTMLRenderingLib to ensure it will work as expected.</P><P>Some of the HTMLRenderingLib routines leave either the grafport'sorigin or the grafport's clipping region in an undefined state. Ifyou are drawing other objects in the same window that you are usingwith an html rendering library object, then you should be aware ofthis and reset these parts of the drawing environment as appropriatebefore attempting to do any drawing of your own. This sampleapplication handles these cases appropriately.</P><P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P></P></BODY></HTML></pre>
<!--googleoff: index -->
</td>
</tr>
</table>
<!-- END WIDE COLUMN -->
<!-- END MAIN CONTENT -->
<table width="680" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><div style="width: 100%; height: 1px; background-color: #919699; margin-top: 5px; margin-bottom: 15px"></div></td>
</tr>
<tr>
<td align="center"><br/>
<table border="0" cellpadding="0" cellspacing="0" class="graybox">
<tr>
<th>Did this document help you?</th>
</tr>
<tr>
<td>
<div style="margin-bottom: 8px"><a href="http://developer.apple.com/feedback/?v=1&url=/samplecode/HTMLSample/listing16.html%3Fid%3DDTS10000579-1.0&media=dvd" target=_new>Yes</a>: Tell us what works for you.</div>
<div style="margin-bottom: 8px"><a href="http://developer.apple.com/feedback/?v=2&url=/samplecode/HTMLSample/listing16.html%3Fid%3DDTS10000579-1.0&media=dvd" target=_new>It’s good, but:</a> Report typos, inaccuracies, and so forth.</div>
<div><a href="http://developer.apple.com/feedback/?v=3&url=/samplecode/HTMLSample/listing16.html%3Fid%3DDTS10000579-1.0&media=dvd" target=_new>It wasn’t helpful</a>: Tell us what would have helped.</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- START BOTTOM APPLE NAVIGATION -->
<!--#include virtual="/includes/footer"-->
<!-- END BOTTOM APPLE NAVIGATION -->
<!-- START CENTER CLOSE -->
</center>
<!-- END CENTER CLOSE -->
</body>
</html>