<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-610636063868486162</id><updated>2011-08-31T06:10:08.051-07:00</updated><category term='Truespace'/><category term='C++'/><category term='GNUstep'/><category term='Ubuntu'/><category term='Android'/><category term='Roulette'/><category term='MAC'/><category term='Objective-C'/><category term='Delphi'/><category term='Eclipse'/><category term='qt Nokia S60'/><title type='text'>Eclipse, Java Microediton, Android, Nokia, and etc.</title><subtitle type='html'>This blog will be associated with eclipse, Java Micro Edition, Android, etc...

My premiere blogging date began from March, 25th, 2009</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>39</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-3507893181387099673</id><published>2011-08-31T05:52:00.000-07:00</published><updated>2011-08-31T06:10:08.077-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Truespace'/><title type='text'>The terrain looks better now.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-AOInm9IH5JU/Tl4xAEaeXkI/AAAAAAAAAF0/hNv_oWBB4Nw/s1600/terrain-0001.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 180px;" src="http://3.bp.blogspot.com/-AOInm9IH5JU/Tl4xAEaeXkI/AAAAAAAAAF0/hNv_oWBB4Nw/s320/terrain-0001.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5647004860023725634" /&gt;&lt;/a&gt;&lt;br /&gt;The terrain 3D model data can be generated by Truespace.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-3507893181387099673?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/3507893181387099673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2011/08/terrain-looks-better-now.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/3507893181387099673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/3507893181387099673'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2011/08/terrain-looks-better-now.html' title='The terrain looks better now.'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-AOInm9IH5JU/Tl4xAEaeXkI/AAAAAAAAAF0/hNv_oWBB4Nw/s72-c/terrain-0001.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-5297516649006147873</id><published>2011-07-13T05:47:00.000-07:00</published><updated>2011-07-13T05:52:57.343-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MAC'/><title type='text'>Install MAC OS on my desktop.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-L8MW_dr0a78/Th2UfKTstaI/AAAAAAAAAFs/QdVTvvAgqXI/s1600/mac_intel.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 180px;" src="http://4.bp.blogspot.com/-L8MW_dr0a78/Th2UfKTstaI/AAAAAAAAAFs/QdVTvvAgqXI/s320/mac_intel.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5628818372346820002" /&gt;&lt;/a&gt;&lt;br /&gt;Finally, I found MAC OS for my Intel CPU based computer which called Ledpard. The install file can be found through torrent. The install process is quite simple and easy but the problem is hard to look for the appropriate one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-5297516649006147873?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/5297516649006147873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2011/07/install-mac-os-on-my-desktop.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/5297516649006147873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/5297516649006147873'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2011/07/install-mac-os-on-my-desktop.html' title='Install MAC OS on my desktop.'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-L8MW_dr0a78/Th2UfKTstaI/AAAAAAAAAFs/QdVTvvAgqXI/s72-c/mac_intel.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-4359270294577666216</id><published>2010-09-10T05:30:00.000-07:00</published><updated>2010-09-10T05:40:36.361-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Truespace'/><title type='text'>What I am doing now?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QuUEc3KVz6k/TIolP72NirI/AAAAAAAAAFY/bDp3qfUbY5E/s1600/shot100910.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 180px;" src="http://1.bp.blogspot.com/_QuUEc3KVz6k/TIolP72NirI/AAAAAAAAAFY/bDp3qfUbY5E/s320/shot100910.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5515261649361930930" /&gt;&lt;/a&gt;&lt;br /&gt;It is a good chance to candidates who may learn about 3D graphic tools without any payment. &lt;br /&gt;&lt;br /&gt;There are many free 3D graphic tools, such as, Google Sketch up, Blender, K3D, MeshLab, etc.&lt;br /&gt;&lt;br /&gt;There is one more tool called Truespace which I recently have installed on my desktop. I could draw simple model mush easier.&lt;br /&gt;&lt;br /&gt;And of course, I could get the model values using collada dae file format which is xml based text. The above shown picture is a simple plane map editer shows plane lands and fast speed of FPS, etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-4359270294577666216?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/4359270294577666216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2010/09/what-i-am-doing-now.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/4359270294577666216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/4359270294577666216'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2010/09/what-i-am-doing-now.html' title='What I am doing now?'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QuUEc3KVz6k/TIolP72NirI/AAAAAAAAAFY/bDp3qfUbY5E/s72-c/shot100910.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-3968597952816649986</id><published>2010-07-30T05:56:00.001-07:00</published><updated>2010-07-31T04:23:03.794-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Drawing ground with texture.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QuUEc3KVz6k/TFLPi4yFjAI/AAAAAAAAAFI/7A4mMHsGCYk/s1600/glt_100730.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 180px;" src="http://1.bp.blogspot.com/_QuUEc3KVz6k/TFLPi4yFjAI/AAAAAAAAAFI/7A4mMHsGCYk/s320/glt_100730.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5499686293237763074" /&gt;&lt;/a&gt;&lt;br /&gt;The result looks more realistic of the ground. The texture is 16 bits color 565(RGB) bitmap.&lt;br /&gt;&lt;br /&gt;If anyone want to try the texture with 16 bits 565 bitmap may use the OPENGL function follow.&lt;br /&gt;&lt;br /&gt;Ex) glTexImage2D(GL_TEXTURE_2D, 0, &lt;span style="font-weight:bold;"&gt;GL_RGB5&lt;/span&gt;, width, height, 0, GL_RGB,  &lt;span style="font-weight:bold;"&gt;GL_UNSIGNED_SHORT_5_6_5&lt;/span&gt;, data);&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-3968597952816649986?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/3968597952816649986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2010/07/drawing-ground-with-texture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/3968597952816649986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/3968597952816649986'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2010/07/drawing-ground-with-texture.html' title='Drawing ground with texture.'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QuUEc3KVz6k/TFLPi4yFjAI/AAAAAAAAAFI/7A4mMHsGCYk/s72-c/glt_100730.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-6466999165533843576</id><published>2010-07-17T05:58:00.000-07:00</published><updated>2010-07-17T06:16:12.396-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Here is no activity for a long time!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QuUEc3KVz6k/TEGs6v0L5HI/AAAAAAAAAFA/QcbSmadBG78/s1600/screenshot.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_QuUEc3KVz6k/TEGs6v0L5HI/AAAAAAAAAFA/QcbSmadBG78/s320/screenshot.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5494863145636455538" /&gt;&lt;/a&gt;&lt;br /&gt;This post has not a special content. I wish continue my activity which is related with mobile application development.&lt;br /&gt;I am still using old laptop note book and the new desktop which i was bought recently is next with my laptop note book. The desktop run so fast and has more screen capacity. Run to make my new application....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-6466999165533843576?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/6466999165533843576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2010/07/here-is-no-activity-for-long-time.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6466999165533843576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6466999165533843576'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2010/07/here-is-no-activity-for-long-time.html' title='Here is no activity for a long time!'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QuUEc3KVz6k/TEGs6v0L5HI/AAAAAAAAAFA/QcbSmadBG78/s72-c/screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-1363142226091525841</id><published>2009-08-18T01:46:00.000-07:00</published><updated>2009-08-18T01:49:53.183-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Creating 3d data values for drawing ground</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_QuUEc3KVz6k/Sopq4Bz3n-I/AAAAAAAAAE4/Jct-0e8ej4c/s1600-h/ground.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 182px;" src="http://4.bp.blogspot.com/_QuUEc3KVz6k/Sopq4Bz3n-I/AAAAAAAAAE4/Jct-0e8ej4c/s320/ground.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5371223016383946722" /&gt;&lt;/a&gt;&lt;br /&gt;To create 3d data values for drawing ground have to calculate from center (0f, 0f, 0f). The left picture shows the four parts which are divided by center.&lt;br /&gt;Every x and y values are increased and decreased by 1.0 or -1.0 except z values. The increase and decrease values have a same pattern. According many OpenGL examples from Internet, we can draw rectangle with 4 vertex points. Each vertex point has x, y and z value. Therefore, the program has to generate rectangle points’ value. Of course, the generated file has also color values.&lt;br /&gt;&lt;br /&gt;int main(int argc, char **argv)&lt;br /&gt;{&lt;br /&gt; int nwidth = atoi(argv[1]);&lt;br /&gt; int nheight = atoi(argv[2]);&lt;br /&gt;&lt;br /&gt; fnCVertextFile(nheight, nwidth);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Example) program 8 8&lt;br /&gt;When the program was executed like an example, then the vector values will be generated 16 * 16 sizes.&lt;br /&gt;&lt;br /&gt;typedef struct {&lt;br /&gt;float x, y, z;&lt;br /&gt;} M3DPoint;&lt;br /&gt;&lt;br /&gt;typedef struct {&lt;br /&gt;M3DPoint left, top, right, bottom;&lt;br /&gt;} M3DRect;&lt;br /&gt;&lt;br /&gt;// the function writes structure values and string values to file.&lt;br /&gt;void fprintfex(FILE *fvfile, M3DRect row1, char *value) &lt;br /&gt;{&lt;br /&gt; fprintf(fvfile, "%f %f %f %s\n", row1.left.x, row1.left.y, row1.left.z, value);&lt;br /&gt; fprintf(fvfile, "%f %f %f %s\n", row1.top.x, row1.top.y, row1.top.z, value);&lt;br /&gt; fprintf(fvfile, "%f %f %f %s\n", row1.right.x, row1.right.y, row1.right.z, value);&lt;br /&gt; fprintf(fvfile, "%f %f %f %s\n", row1.bottom.x, row1.bottom.y, row1.bottom.z, value);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void fnCVertextFile(int aRow, int aColumn)&lt;br /&gt;{&lt;br /&gt;   M3DRect row1;&lt;br /&gt;&lt;br /&gt;float nleft = 0.0f;&lt;br /&gt;float ntop  = 0.0f;&lt;br /&gt;&lt;br /&gt;char value1[] = {"0.3 0.3 0.3"};&lt;br /&gt;char value2[] = {"0.5 0.5 0.5"};&lt;br /&gt;char *value;&lt;br /&gt;bool toggle   = false;&lt;br /&gt;&lt;br /&gt;FILE *fvfile = fopen("vector.dat", "w");&lt;br /&gt;if(fvfile == NULL) {&lt;br /&gt;printf("file cannot open!\n");&lt;br /&gt;exit(-1); &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;   // count of vertex&lt;br /&gt;fprintf(fvfile, "%d\n", aRow * aColumn * 4 * 4);&lt;br /&gt;&lt;br /&gt;for(int j = 0; j &lt; aRow; j++) &lt;br /&gt;   {&lt;br /&gt;for(int i = 0; i &lt; aColumn; i++) &lt;br /&gt;{&lt;br /&gt;row1.left.x = nleft; row1.left.y = ntop; row1.left.z = 1.5f;&lt;br /&gt;row1.top.x = nleft+1.0f; row1.top.y = ntop; row1.top.z = 1.5f;&lt;br /&gt;  row1.right.x = nleft+1.0f; row1.right.y = ntop+1.0f; row1.right.z = 1.5f;&lt;br /&gt;  row1.bottom.x = nleft; row1.bottom.y = ntop+1.0f; row1.bottom.z = 1.5f;&lt;br /&gt;  value = (toggle) ? value1 : value2;&lt;br /&gt;  fprintfex(fvfile, row1, value); &lt;br /&gt;  toggle = !toggle;&lt;br /&gt;  nleft += 1.0f;&lt;br /&gt;}&lt;br /&gt;ntop  += 1.0f;&lt;br /&gt;nleft  = 0.0f;&lt;br /&gt;toggle = !toggle;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// was ommited below section of source&lt;br /&gt;…&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-1363142226091525841?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/1363142226091525841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/08/creating-3d-data-values-for-drawing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/1363142226091525841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/1363142226091525841'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/08/creating-3d-data-values-for-drawing.html' title='Creating 3d data values for drawing ground'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QuUEc3KVz6k/Sopq4Bz3n-I/AAAAAAAAAE4/Jct-0e8ej4c/s72-c/ground.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-4559921312600522369</id><published>2009-07-02T17:19:00.000-07:00</published><updated>2009-07-02T17:47:06.611-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Roulette'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Now, my second app was included some MIDI sounds.</title><content type='html'>Until I get Android test device,  The second app will be like this.&lt;br /&gt;&lt;OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,28;" WIDTH=315 HEIGHT=468&gt;&lt;PARAM NAME=movie VALUE="http://www.hotlinkfiles.com/files/2503287_au5ku/demo.swf"&gt; &lt;PARAM NAME=quality VALUE=high&gt; &lt;PARAM NAME=bgcolor VALUE="#FFFFFF"&gt;&lt;param name="allowFullScreen" value="true" &gt;&lt;param name="flashVars" value="scaleMode=showAll&amp;showToolbar=true&amp;topToolbar=true&amp;showFullScreen=true&amp;notScaleInFullScreen=false&amp;autoHide=false&amp;showAutoHide=true&amp;showTimer=true&amp;showTimeline=true&amp;showNextButton=true&amp;showPrevButton=true&amp;showFBLogo=true&amp;showVolumeBar=false&amp;fps=7&amp;str1=Created%20with%20BB%20FlashBack&amp;str2=Visit%20www.bbflashback.com&amp;str3=Hide&amp;showPausedOverlay=true&amp;pauseByClickingOnMovie=true&amp;startingPlaybackMode=2&amp;preloadPercent=0" &gt;&lt;EMBED src="http://www.hotlinkfiles.com/files/2648327_bt2av/Untitled1.swf" allowfullscreen="true" flashVars="scaleMode=showAll&amp;showToolbar=true&amp;topToolbar=true&amp;showFullScreen=true&amp;notScaleInFullScreen=false&amp;autoHide=false&amp;showAutoHide=true&amp;showTimer=true&amp;showTimeline=true&amp;showNextButton=true&amp;showPrevButton=true&amp;showFBLogo=true&amp;showVolumeBar=false&amp;fps=7&amp;str1=Created%20with%20BB%20FlashBack&amp;str2=Visit%20www.bbflashback.com&amp;str3=Hide&amp;showPausedOverlay=true&amp;pauseByClickingOnMovie=true&amp;startingPlaybackMode=1&amp;preloadPercent=0" quality=high bgcolor="#FFFFFF"  WIDTH=315 HEIGHT=468 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/EMBED&gt;&lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-4559921312600522369?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/4559921312600522369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/07/now-my-second-app-was-included-some.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/4559921312600522369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/4559921312600522369'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/07/now-my-second-app-was-included-some.html' title='Now, my second app was included some MIDI sounds.'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-2145821605625369107</id><published>2009-06-27T18:39:00.000-07:00</published><updated>2009-06-27T18:40:52.658-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qt Nokia S60'/><title type='text'>Qt4.5.2-tower</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QuUEc3KVz6k/SkbJ6ZXC_QI/AAAAAAAAAEw/J48IUBmoXcI/s1600-h/qt_4.5.2-tower.PNG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 302px; height: 320px;" src="http://4.bp.blogspot.com/_QuUEc3KVz6k/SkbJ6ZXC_QI/AAAAAAAAAEw/J48IUBmoXcI/s320/qt_4.5.2-tower.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5352187212253560066" /&gt;&lt;/a&gt;&lt;br /&gt;Recently, Nokia published the new version of Qt4.5.2-tower which can be operated in many platforms. Previously, I installed the Qt4.5.0-garden for s60 and windows platforms. A couple of days ago, I tried to install S60 5th edition SDK and s60 3rd Feature pack II.  I already had N97 0.5 version SDK. The S60 5th edition emulator provided a couple of resolution of mobile screen. So, I uninstalled 3rd edition and N97 edition SDK. Yesterday, I downloaded the Qt4.5.2-tower and I did install process into my old laptop notebook. The install required many things to install the Qt4.5.2-tower. I completed the install process yesterday night due to what I got.  I like 2d graphics API. It easily use and so powerful.  I am not sure now how an application install into real device. Since I like the emulator and I can launch my testing application into the emulator.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-2145821605625369107?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/2145821605625369107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/qt452-tower.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/2145821605625369107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/2145821605625369107'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/qt452-tower.html' title='Qt4.5.2-tower'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QuUEc3KVz6k/SkbJ6ZXC_QI/AAAAAAAAAEw/J48IUBmoXcI/s72-c/qt_4.5.2-tower.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-7875990997335819238</id><published>2009-06-21T05:57:00.000-07:00</published><updated>2009-06-27T18:40:58.839-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='qt Nokia S60'/><title type='text'>Qt4.5.0-Garden</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QuUEc3KVz6k/Sj4uslcehDI/AAAAAAAAAEo/5K5WL2MVIhM/s1600-h/test.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 174px; height: 320px;" src="http://1.bp.blogspot.com/_QuUEc3KVz6k/Sj4uslcehDI/AAAAAAAAAEo/5K5WL2MVIhM/s320/test.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5349764750863402034" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For Nokia Application developers, Now They have a little strong development toolkit. ‘Qt4.5.0-garden’ which supports library for s60 mobile  makes low a barrier then before. It means S60 mobile application developers can develop application more easy. For me, I was trying to learn about Carbide C++ and S60 library but it gave to me very complex. But Qt garden takes away some complex. To launch an application under S60 emulator, it is very simple.  The picture shows my first trying of tutorial which was presented from qt garden prereleased  web site.  At the moment, I only use text editor called Notepad++, Dos command for building tutorial C++ code and emulator. Of course, there are some things should installed before use Qt garden.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-7875990997335819238?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/7875990997335819238/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/qt450-garden.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/7875990997335819238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/7875990997335819238'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/qt450-garden.html' title='Qt4.5.0-Garden'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QuUEc3KVz6k/Sj4uslcehDI/AAAAAAAAAEo/5K5WL2MVIhM/s72-c/test.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-7658590382130434910</id><published>2009-06-19T00:34:00.001-07:00</published><updated>2009-06-25T21:17:31.540-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Translation bitmap image</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QuUEc3KVz6k/Sjs_olT3OqI/AAAAAAAAAEg/qFP-knU10TM/s1600-h/translateimage.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 272px;" src="http://3.bp.blogspot.com/_QuUEc3KVz6k/Sjs_olT3OqI/AAAAAAAAAEg/qFP-knU10TM/s320/translateimage.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5348938948875336354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bitmap image contains BitmapHeader, pixels data and palette. The palette only need less than 16 bit color bitmap image, so This article will not include. Microsoft Visual studio has BitmapHeader structure in some header files. It also provides some functions which often give developer difficult to understand. Anyone who may has basic knowledge of c++ and the structure of bitmap file will has no problem with this article. The aritcle will touch only Device Independent Bitmap and pixels data are not compressed.   &lt;br /&gt;&lt;br /&gt;Code begining here // -&amp;gt;&amp;gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt&lt;br /&gt;#include &amp;lt;stdlib.h&amp;gt&lt;br /&gt;&lt;br /&gt;#pragma pack(1)                   // get the structure size 54 not 56&lt;br /&gt;&lt;br /&gt;typedef struct {&lt;br /&gt; unsigned char bfType1;        // fixed 'B'&lt;br /&gt; unsigned char bfType2;        // fixed 'M'&lt;br /&gt; unsigned int bfSize;          // Size of File. Zero is acceptable&lt;br /&gt; unsigned short bfReserved1;   // Zero&lt;br /&gt; unsigned short bfReserved2;   // Zero&lt;br /&gt; unsigned int bfOffBits;       // Offset to beginning of bitmap&lt;br /&gt; unsigned int biSize;          // Number of Bytes in Structure&lt;br /&gt; unsigned int biWidth;         // width of bitmap in pixels &lt;br /&gt; unsigned int biHeight;        // height of bitmap in pixels&lt;br /&gt; unsigned short biPlanes;      // Planes in target device = 1&lt;br /&gt; unsigned short biBitCount;    // Bits per Pixel 1, 4, 8, 16, 24, 32&lt;br /&gt; unsigned int biCompression;   // BI_RGB = 0, BI_RLE8, BI_RLE4&lt;br /&gt; unsigned int biSizeImage;     // Size of Image Part (often ignored)&lt;br /&gt; unsigned int biXPelsPerMeter; // Always Zero&lt;br /&gt; unsigned int biYPelsPerMeter; // Always Zero&lt;br /&gt; unsigned int biClrUsed;       // Number of Colors used in Palette&lt;br /&gt; unsigned int biClrImportant;  // Number of Colors that are Important&lt;br /&gt;} TBmpHeader;&lt;br /&gt;&amp;lt;&amp;lt;- // Code end here&lt;br /&gt;&lt;br /&gt;The pixels data fills the end of bitmap file after bitmap header. The 1 point pixel data consists of red, green and blue color value each. The each color value has the size of 8 bit.   &lt;br /&gt;&lt;br /&gt;This is a structure for 24 bit color.&lt;br /&gt;&lt;br /&gt;Code begining here // -&amp;gt;&amp;gt;&lt;br /&gt;typedef struct {&lt;br /&gt;    unsigned char rgbBlue;   //intensity of blue in the color&lt;br /&gt;    unsigned char rgbGreen;  //intensity of green in the color&lt;br /&gt; unsigned char rgbRed;    //intensity of red in the color&lt;br /&gt;} TRGB;&lt;br /&gt;&amp;lt;&amp;lt;- // Code end here&lt;br /&gt;&lt;br /&gt;32 bit color adds alpha color value which sometimes use calcuration for mixing two images.  &lt;br /&gt;&lt;br /&gt;Code begining here // -&amp;gt;&amp;gt;&lt;br /&gt;typedef struct {&lt;br /&gt;    unsigned char rgbBlue;   //intensity of blue in the color&lt;br /&gt;    unsigned char rgbGreen;  //intensity of green in the color&lt;br /&gt; unsigned char rgbRed;    //intensity of red in the color&lt;br /&gt; unsigned char rgbAlpha;  //intensity of Alpha in the color&lt;br /&gt;} TRGBA;&lt;br /&gt;&amp;lt;&amp;lt;- // Code end here&lt;br /&gt;&lt;br /&gt;This routine fills bitmapheader structure by using width, height and color bit. The third argument is color type. It can use with 16, 24 and 32 value.&lt;br /&gt;&lt;br /&gt;Code begin here // -&amp;gt;&amp;gt;&lt;br /&gt;TBmpHeader FillBitmapHeader(unsigned int width, unsigned int height, &lt;br /&gt; unsigned short bitmapType) &lt;br /&gt;{&lt;br /&gt; TBmpHeader MyBitmapHeader;&lt;br /&gt; &lt;br /&gt; MyBitmapHeader.bfType1         =  0x42;  &lt;br /&gt;    MyBitmapHeader.bfType2         =  0x4D;  &lt;br /&gt;    MyBitmapHeader.bfSize          =  0x00000000;&lt;br /&gt;    MyBitmapHeader.bfReserved1     =  0x0000;&lt;br /&gt;    MyBitmapHeader.bfReserved2     =  0x0000;&lt;br /&gt;    MyBitmapHeader.bfOffBits       =  0x36;  // the location of bitmap data&lt;br /&gt;    MyBitmapHeader.biSize          =  0x28;  // Size of the BItmapHeader&lt;br /&gt;   &lt;br /&gt;    MyBitmapHeader.biWidth         =  width;&lt;br /&gt;    MyBitmapHeader.biHeight        =  height;&lt;br /&gt;    MyBitmapHeader.biPlanes        =  0x0001;               // Plane target device 1&lt;br /&gt; &lt;br /&gt;    MyBitmapHeader.biBitCount      =  bitmapType;           // Bits per Pixel 1, 4, 8, 16, 24, 32&lt;br /&gt;    MyBitmapHeader.biCompression   =  0x00000000;           // BI_RGB = 0, BI_RLE8, BI_RLE4&lt;br /&gt; &lt;br /&gt;    MyBitmapHeader.biSizeImage     =  0x00000000;&lt;br /&gt;    MyBitmapHeader.biXPelsPerMeter =  0x00000000;&lt;br /&gt;    MyBitmapHeader.biYPelsPerMeter =  0x00000000;&lt;br /&gt;    MyBitmapHeader.biClrUsed       =  0x00000000;&lt;br /&gt;    MyBitmapHeader.biClrImportant  =  0x00000000;&lt;br /&gt; &lt;br /&gt; return MyBitmapHeader;&lt;br /&gt;}&lt;br /&gt;&amp;lt;&amp;lt;- // Code end here&lt;br /&gt;&lt;br /&gt;16 bit color can consist 32 bit color but each RGBA color has to decrease there own size half. Therefore, the result image can not avoid color loss.&lt;br /&gt;&lt;br /&gt;Code begin here // -&amp;gt;&amp;gt;&lt;br /&gt;void ConvertBmp32to16(const char *srcfname, const char *dstfname) &lt;br /&gt;{&lt;br /&gt; TBmpHeader MyBitmapHeader;&lt;br /&gt; FILE *finput = fopen(srcfname, &amp;ldquo;rb&amp;rdquo;);&lt;br /&gt; if(finput == NULL) return;&lt;br /&gt; fread(&amp;amp;MyBitmapHeader, sizeof(TBmpHeader), 1, finput);&lt;br /&gt; TRGBA * rgbdata;&lt;br /&gt; unsigned short *rgbdata16;&lt;br /&gt; &lt;br /&gt;    int SSize = MyBitmapHeader.biWidth * MyBitmapHeader.biHeight;&lt;br /&gt; int Size = SSize * 4;&lt;br /&gt; &lt;br /&gt; rgbdata = (TRGBA *)malloc(Size);&lt;br /&gt; &lt;br /&gt; fread(rgbdata, Size, 1, finput);&lt;br /&gt; fclose(finput);&lt;br /&gt; &lt;br /&gt; rgbdata16 = (unsigned short *)malloc(SSize*2);&lt;br /&gt; &lt;br /&gt; unsigned short r, g, b, a;&lt;br /&gt; for(int i=0; i &amp;lt; SSize; i++) {&lt;br /&gt;     b = rgbdata[i].rgbBlue &amp;gt;&amp;gt; 4;&lt;br /&gt;  g = rgbdata[i].rgbGreen &amp;gt;&amp;gt; 4;&lt;br /&gt;  r = rgbdata[i].rgbRed &amp;gt;&amp;gt; 4; &lt;br /&gt;  a = rgbdata[i].rgbAlpha &amp;gt;&amp;gt; 4;&lt;br /&gt;  rgbdata16[i] = (r &amp;lt;&amp;lt; 12) + (g &amp;lt;&amp;lt; 8) + (b &amp;lt;&amp;lt; 4) + a;&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt; MyBitmapHeader = FillBitmapHeader(MyBitmapHeader.biWidth, MyBitmapHeader.biHeight, 16);&lt;br /&gt; &lt;br /&gt; FILE *fpout = fopen(dstfname, &amp;ldquo;wb&amp;rdquo;);&lt;br /&gt; if(fpout == NULL) return;&lt;br /&gt; fwrite(&amp;amp;MyBitmapHeader, sizeof(TBmpHeader), 1, fpout);&lt;br /&gt; fwrite(rgbdata16, SSize*2, 1, fpout);&lt;br /&gt; fclose(fpout);&lt;br /&gt; free(rgbdata);&lt;br /&gt; free(rgbdata16);&lt;br /&gt;}&lt;br /&gt;&amp;lt;&amp;lt;- // Code End here&lt;br /&gt;&lt;br /&gt;After execute the ConvertBmp32to16() routine, a bitmap image will be generated. The aim of this routine is for keeping alpha value after translation. So, you don't have to confirm the generated image.   &lt;br /&gt;&lt;br /&gt;Code begin here // -&amp;gt;&amp;gt;&lt;br /&gt;void ConvertBmp16to32(const char *srcfname, const char *dstfname) &lt;br /&gt;{&lt;br /&gt; TBmpHeader MyBitmapHeader;&lt;br /&gt; FILE *finput = fopen(srcfname, &amp;ldquo;rb&amp;rdquo;);&lt;br /&gt; if(finput == NULL) return;&lt;br /&gt; fread(&amp;amp;MyBitmapHeader, sizeof(TBmpHeader), 1, finput);&lt;br /&gt; TRGBA * rgbdata;&lt;br /&gt; unsigned short *rgbdata16;&lt;br /&gt; &lt;br /&gt;    int SSize = MyBitmapHeader.biWidth * MyBitmapHeader.biHeight;&lt;br /&gt; int Size = SSize * 2;&lt;br /&gt; &lt;br /&gt; rgbdata16 = (unsigned short *)malloc(Size);&lt;br /&gt; &lt;br /&gt; fread(rgbdata16, Size, 1, finput);&lt;br /&gt; fclose(finput);&lt;br /&gt; &lt;br /&gt; rgbdata = (TRGBA *)malloc(SSize*4);&lt;br /&gt; &lt;br /&gt; unsigned short r, g, b, a;&lt;br /&gt; for(int i=0; i &amp;lt; SSize; i++) {&lt;br /&gt;     b = (rgbdata16[i] &amp;gt;&amp;gt; 4) &amp;amp; 0x0f;&lt;br /&gt;  g = (rgbdata16[i] &amp;gt;&amp;gt; 8)  &amp;amp; 0x0f;&lt;br /&gt;  r = (rgbdata16[i] &amp;gt;&amp;gt; 12)  &amp;amp; 0x0f;&lt;br /&gt;  a = rgbdata16[i] &amp;amp; 0x0f;&lt;br /&gt;     rgbdata[i].rgbBlue = b &amp;lt;&amp;lt; 4;&lt;br /&gt;  rgbdata[i].rgbGreen =  g &amp;lt;&amp;lt; 4;&lt;br /&gt;  rgbdata[i].rgbRed =  r &amp;lt;&amp;lt; 4;&lt;br /&gt;  rgbdata[i].rgbAlpha =  a &amp;lt;&amp;lt; 4;&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt; MyBitmapHeader = FillBitmapHeader(MyBitmapHeader.biWidth, MyBitmapHeader.biHeight, 32);&lt;br /&gt; &lt;br /&gt; FILE *fpout = fopen(dstfname, &amp;ldquo;wb&amp;rdquo;);&lt;br /&gt; if(fpout == NULL) return;&lt;br /&gt; fwrite(&amp;amp;MyBitmapHeader, sizeof(TBmpHeader), 1, fpout);&lt;br /&gt; fwrite(rgbdata, SSize*4, 1, fpout);&lt;br /&gt; fclose(fpout);&lt;br /&gt; free(rgbdata);&lt;br /&gt; free(rgbdata16);&lt;br /&gt;}&lt;br /&gt;&amp;lt;&amp;lt;- // Code end here&lt;br /&gt;&lt;br /&gt;After execute the ConvertBmp16to32() routine, a bitmap image will also be generated. The image color shows&lt;br /&gt;some color loss.  &lt;br /&gt;&lt;br /&gt;The shown below routine is translation routine which converts 24 bit color into 16 bit color bitmap.&lt;br /&gt; &lt;br /&gt;Code begin here // -&amp;gt;&amp;gt;&lt;br /&gt;void ConvertBmp24to16_555(const char *srcfname, const char *dstfname) &lt;br /&gt;{&lt;br /&gt; TBmpHeader MyBitmapHeader;&lt;br /&gt; FILE *finput = fopen(srcfname, &amp;ldquo;rb&amp;rdquo;);&lt;br /&gt; if(finput == NULL) return;&lt;br /&gt; fread(&amp;amp;MyBitmapHeader, sizeof(TBmpHeader), 1, finput);&lt;br /&gt; TRGB * rgbdata;&lt;br /&gt; unsigned short *rgbdata16;&lt;br /&gt; &lt;br /&gt;    int SSize = MyBitmapHeader.biWidth * MyBitmapHeader.biHeight;&lt;br /&gt; int Size = SSize * 3;&lt;br /&gt; &lt;br /&gt; rgbdata = (TRGB *)malloc(Size);&lt;br /&gt; &lt;br /&gt; fread(rgbdata, Size, 1, finput);&lt;br /&gt; fclose(finput);&lt;br /&gt; &lt;br /&gt; rgbdata16 = (unsigned short *)malloc(SSize*2);&lt;br /&gt; &lt;br /&gt; unsigned short r, g, b, a;&lt;br /&gt; for(int i=0; i &amp;lt; SSize; i++) {&lt;br /&gt;     b = rgbdata[i].rgbBlue &amp;gt;&amp;gt; 3;&lt;br /&gt;  g = rgbdata[i].rgbGreen &amp;gt;&amp;gt; 3;&lt;br /&gt;  r = rgbdata[i].rgbRed &amp;gt;&amp;gt; 3; &lt;br /&gt;  rgbdata16[i] = (r &amp;lt;&amp;lt; 10) + (g &amp;lt;&amp;lt; 5) + b;&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt; MyBitmapHeader = FillBitmapHeader(MyBitmapHeader.biWidth, MyBitmapHeader.biHeight, 16);&lt;br /&gt; &lt;br /&gt; FILE *fpout = fopen(dstfname, &amp;ldquo;wb&amp;rdquo);&lt;br /&gt; if(fpout == NULL) return;&lt;br /&gt; fwrite(&amp;amp;MyBitmapHeader, sizeof(TBmpHeader), 1, fpout);&lt;br /&gt; fwrite(rgbdata16, SSize*2, 1, fpout);&lt;br /&gt; fclose(fpout);&lt;br /&gt; free(rgbdata);&lt;br /&gt; free(rgbdata16);&lt;br /&gt;}&lt;br /&gt;&amp;lt;&amp;lt;- // Code end here&lt;br /&gt;&lt;br /&gt;Code begin here // -&amp;gt;&amp;gt;&lt;br /&gt;int main(int argc, char **argv) &lt;br /&gt;{&lt;br /&gt; ConvertBmp32to16(&amp;ldquo;bitmap32.bmp&amp;rdquo;, &amp;ldquo;bitmap16r1.bmp&amp;rdquo;);&lt;br /&gt; ConvertBmp16to32(&amp;ldquo;bitmap16r1.bmp&amp;rdquo;, &amp;ldquo;bitmap32r1.bmp&amp;rdquo;);&lt;br /&gt; ConvertBmp24to16_555(&amp;ldquo;bitmap24.bmp&amp;rdquo;, &amp;ldquo;bitmap16r2.bmp&amp;rdquo;); &lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&amp;lt;&amp;lt;- // Code end here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-7658590382130434910?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/7658590382130434910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/translation-bitmap-image.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/7658590382130434910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/7658590382130434910'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/translation-bitmap-image.html' title='Translation bitmap image'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_QuUEc3KVz6k/Sjs_olT3OqI/AAAAAAAAAEg/qFP-knU10TM/s72-c/translateimage.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-8860997941643874533</id><published>2009-06-17T22:04:00.000-07:00</published><updated>2009-06-17T22:43:57.067-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Roulette'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>This will be my second Android game application...</title><content type='html'>Since, I am trying to complete this application. The application still miss some routines but the routines will be made soon. &lt;br /&gt;&lt;OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,28;" WIDTH=315 HEIGHT=468&gt;&lt;PARAM NAME=movie VALUE="http://www.hotlinkfiles.com/files/2503287_au5ku/demo.swf"&gt; &lt;PARAM NAME=quality VALUE=high&gt; &lt;PARAM NAME=bgcolor VALUE="#FFFFFF"&gt;&lt;param name="allowFullScreen" value="true" &gt;&lt;param name="flashVars" value="scaleMode=showAll&amp;showToolbar=true&amp;topToolbar=true&amp;showFullScreen=true&amp;notScaleInFullScreen=false&amp;autoHide=false&amp;showAutoHide=true&amp;showTimer=true&amp;showTimeline=true&amp;showNextButton=true&amp;showPrevButton=true&amp;showFBLogo=true&amp;showVolumeBar=false&amp;fps=7&amp;str1=Created%20with%20BB%20FlashBack&amp;str2=Visit%20www.bbflashback.com&amp;str3=Hide&amp;showPausedOverlay=true&amp;pauseByClickingOnMovie=true&amp;startingPlaybackMode=2&amp;preloadPercent=0" &gt;&lt;EMBED src="http://www.hotlinkfiles.com/files/2614205_3pbfx/roulette_065513.swf" allowfullscreen="true" flashVars="scaleMode=showAll&amp;showToolbar=true&amp;topToolbar=true&amp;showFullScreen=true&amp;notScaleInFullScreen=false&amp;autoHide=false&amp;showAutoHide=true&amp;showTimer=true&amp;showTimeline=true&amp;showNextButton=true&amp;showPrevButton=true&amp;showFBLogo=true&amp;showVolumeBar=false&amp;fps=7&amp;str1=Created%20with%20BB%20FlashBack&amp;str2=Visit%20www.bbflashback.com&amp;str3=Hide&amp;showPausedOverlay=true&amp;pauseByClickingOnMovie=true&amp;startingPlaybackMode=2&amp;preloadPercent=0" quality=high bgcolor="#FFFFFF"  WIDTH=315 HEIGHT=468 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/EMBED&gt;&lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-8860997941643874533?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/8860997941643874533/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/this-will-be-my-second-android-game.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/8860997941643874533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/8860997941643874533'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/this-will-be-my-second-android-game.html' title='This will be my second Android game application...'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-4139784915609083939</id><published>2009-06-09T18:19:00.000-07:00</published><updated>2009-06-09T18:43:57.000-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Roulette'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Sphere on my Android emulator...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QuUEc3KVz6k/Si8LHoZxQ5I/AAAAAAAAAEY/qcAihWZg3YA/s1600-h/rsphere1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 304px;" src="http://1.bp.blogspot.com/_QuUEc3KVz6k/Si8LHoZxQ5I/AAAAAAAAAEY/qcAihWZg3YA/s320/rsphere1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5345503508444562322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Both 'setModel()' and 'setModelEX()' methods work with making points of sphere surface. Now I get my drawing sphere routine. I recommend a URL which provides some glut functions that can be used under Android. &lt;a href="http://code.google.com/p/akjava-android-project/"&gt;akjava-android-project&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;class GLBall {&lt;br /&gt; private int   VertexCount, mallocCount;&lt;br /&gt; private FloatBuffer mVertexBuffer;&lt;br /&gt; private FloatBuffer mNormalBuffer;&lt;br /&gt; public  float z_angle;&lt;br /&gt; private int   slices, stacks;&lt;br /&gt; &lt;br /&gt; public GLBall()&lt;br /&gt; {&lt;br /&gt;     mVertexBuffer  = null; &lt;br /&gt;     mNormalBuffer  = null;&lt;br /&gt; }&lt;br /&gt; &lt;br /&gt; public void setModel(double radius, int lats, int longs) &lt;br /&gt; {&lt;br /&gt;        double lat0, z0, zr0, lat1, z1, zr1, lng, x, y;&lt;br /&gt;     float normal[];&lt;br /&gt;     float vertices[];&lt;br /&gt;&lt;br /&gt;  int mindex = 0, nindex=0;&lt;br /&gt;  &lt;br /&gt;  VertexCount = (lats+1) * (longs+1) * 2;&lt;br /&gt;  mallocCount = VertexCount * 3;&lt;br /&gt;&lt;br /&gt;  normal = new float[mallocCount];&lt;br /&gt;     vertices = new float[mallocCount];&lt;br /&gt;     &lt;br /&gt;     stacks = lats+1;&lt;br /&gt;     slices = longs+1;&lt;br /&gt; &lt;br /&gt;     for(int i = 0; i &lt;= lats; i++) {&lt;br /&gt;      lat0 = (double)Math.PI * (-0.5 + (i - 1) / (double)lats);&lt;br /&gt;      z0   = (double)Math.sin(lat0) * radius;&lt;br /&gt;      zr0  = (double)Math.cos(lat0) * radius;&lt;br /&gt;&lt;br /&gt;      lat1 = (double)Math.PI * (-0.5 + i / (double)lats);&lt;br /&gt;      z1   = (double)Math.sin(lat1) * radius;&lt;br /&gt;      zr1  = (double)Math.cos(lat1) * radius;&lt;br /&gt;      for(int j = 0; j &lt;= longs; j++) {&lt;br /&gt;       lng = 2 * Math.PI * (j - 1) /(double)longs;&lt;br /&gt;           x = Math.cos(lng);&lt;br /&gt;           y = Math.sin(lng);&lt;br /&gt;           normal[nindex++] = vertices[mindex++] = (float)(x * zr0);&lt;br /&gt;           normal[nindex++] = vertices[mindex++] = (float)(y * zr0);&lt;br /&gt;           normal[nindex++] = vertices[mindex++] = (float)z0;&lt;br /&gt;           normal[nindex++] = vertices[mindex++] = (float)(x * zr1);&lt;br /&gt;           normal[nindex++] = vertices[mindex++] = (float)(y * zr1);&lt;br /&gt;           normal[nindex++] = vertices[mindex++] = (float)z1;&lt;br /&gt;       }&lt;br /&gt;  }&lt;br /&gt;     mVertexBuffer  = FloatBuffer.wrap(vertices); &lt;br /&gt;     mNormalBuffer  = FloatBuffer.wrap(normal);&lt;br /&gt;     z_angle = 0.0f;&lt;br /&gt; } &lt;br /&gt; &lt;br /&gt;    public void setModelEX(float radius, int astacks, int aslices)&lt;br /&gt;    {&lt;br /&gt;        int i, j, vindex = 0, nindex = 0; &lt;br /&gt;        float slicestep, stackstep;&lt;br /&gt;&lt;br /&gt;        stackstep = ((float)Math.PI) / astacks;&lt;br /&gt;        slicestep = 2.0f * ((float)Math.PI) / aslices;&lt;br /&gt;       &lt;br /&gt;  VertexCount = astacks * (aslices+1) * 2;&lt;br /&gt;  mallocCount = VertexCount * 3;&lt;br /&gt;     &lt;br /&gt;  float normal[] = new float[mallocCount];&lt;br /&gt;     float vertices[] = new float[mallocCount];&lt;br /&gt;     &lt;br /&gt;        for (i = 0; i &lt; astacks; i++)            &lt;br /&gt;        {&lt;br /&gt;            float a = i * stackstep;&lt;br /&gt;            float b = a + stackstep;&lt;br /&gt;&lt;br /&gt;            float s0 =  (float)Math.sin(a);&lt;br /&gt;            float s1 =  (float)Math.sin(b);&lt;br /&gt;&lt;br /&gt;            float c0 =  (float)Math.cos(a);&lt;br /&gt;            float c1 =  (float)Math.cos(b);&lt;br /&gt;&lt;br /&gt;            float nv;&lt;br /&gt;            for (j = 0; j &lt;= aslices; j++)           &lt;br /&gt;            {&lt;br /&gt;                float c = j * slicestep;&lt;br /&gt;                float x = (float)Math.cos(c);&lt;br /&gt;                float y = (float)Math.sin(c);&lt;br /&gt;&lt;br /&gt;                nv=x * s0;&lt;br /&gt;                normal[nindex++] = nv;&lt;br /&gt;                vertices[vindex++] = nv * radius;&lt;br /&gt;                &lt;br /&gt;                nv=y * s0;&lt;br /&gt;                normal[nindex++] = nv;&lt;br /&gt;                vertices[vindex++] = nv * radius;&lt;br /&gt;&lt;br /&gt;                nv=c0;&lt;br /&gt;                normal[nindex++] = nv;&lt;br /&gt;                vertices[vindex++] = nv * radius;&lt;br /&gt;&lt;br /&gt;                nv=x * s1;&lt;br /&gt;                normal[nindex++] = nv;&lt;br /&gt;                vertices[vindex++] = nv * radius;&lt;br /&gt;&lt;br /&gt;                nv=y * s1;&lt;br /&gt;                normal[nindex++] = nv;&lt;br /&gt;                vertices[vindex++] = nv * radius;&lt;br /&gt;&lt;br /&gt;                nv=c1;&lt;br /&gt;                normal[nindex++] = nv;&lt;br /&gt;                vertices[vindex++] = nv * radius;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;     mVertexBuffer  = FloatBuffer.wrap(vertices); &lt;br /&gt;     mNormalBuffer  = FloatBuffer.wrap(normal);&lt;br /&gt;     z_angle = 0.0f;&lt;br /&gt;&lt;br /&gt;     this.stacks = astacks;&lt;br /&gt;     this.slices = aslices+1;&lt;br /&gt;    }&lt;br /&gt; &lt;br /&gt; public void draw(GL10 gl) {&lt;br /&gt;   int triangles;&lt;br /&gt;  gl.glDisable(GL10.GL_TEXTURE_2D);&lt;br /&gt;  gl.glVertexPointer(3, GL10.GL_FLOAT, 0, mVertexBuffer);&lt;br /&gt;  gl.glNormalPointer(GL10.GL_FLOAT, 0, mNormalBuffer);&lt;br /&gt;&lt;br /&gt;      gl.glDisableClientState(GL10.GL_TEXTURE_COORD_ARRAY);  &lt;br /&gt;  gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);&lt;br /&gt;  gl.glEnableClientState(GL10.GL_NORMAL_ARRAY);&lt;br /&gt;     &lt;br /&gt;  triangles = slices * 2;&lt;br /&gt;  for(int i=0; i &lt; stacks; i++)&lt;br /&gt;   gl.glDrawArrays(GL10.GL_TRIANGLE_STRIP, i*triangles, triangles);&lt;br /&gt;  &lt;br /&gt;  gl.glDisableClientState(GL10.GL_NORMAL_ARRAY);&lt;br /&gt;      gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);  &lt;br /&gt;  gl.glEnable(GL10.GL_TEXTURE_2D);&lt;br /&gt;  }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-4139784915609083939?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/4139784915609083939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/sphere-on-my-android-emulator.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/4139784915609083939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/4139784915609083939'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/sphere-on-my-android-emulator.html' title='Sphere on my Android emulator...'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QuUEc3KVz6k/Si8LHoZxQ5I/AAAAAAAAAEY/qcAihWZg3YA/s72-c/rsphere1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-5725423983548220293</id><published>2009-06-06T04:01:00.000-07:00</published><updated>2009-06-06T04:22:57.291-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Drawing sphere again</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QuUEc3KVz6k/SipREhJtqQI/AAAAAAAAAEQ/I3nT82zJlH0/s1600-h/Sphere1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 307px; height: 320px;" src="http://4.bp.blogspot.com/_QuUEc3KVz6k/SipREhJtqQI/AAAAAAAAAEQ/I3nT82zJlH0/s320/Sphere1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5344173045888952578" /&gt;&lt;/a&gt;&lt;br /&gt;With Mingw I can use OpenGL function within main.cpp. I tried to use OPenGL function in my sphere.cpp but link error occured When i compiled and linked. So, I moved draw() function into my main.cpp. Once sphere&lt;br /&gt; object is made, then the object will can share and will draw many with different color and angle.&lt;br /&gt;&lt;br /&gt;main.cpp&gt;&lt;br /&gt;&lt;br /&gt;void drawSphere(TSphere sphere)&lt;br /&gt;{&lt;br /&gt;   glEnableClientState(GL_VERTEX_ARRAY);&lt;br /&gt;   glEnableClientState(GL_NORMAL_ARRAY);&lt;br /&gt;   glVertexPointer(3, GL_FLOAT, 0, sphere.modelvalue);&lt;br /&gt;   glNormalPointer(GL_FLOAT, 0, sphere.normalvalue);&lt;br /&gt;   glDrawArrays(GL_QUAD_STRIP, 0, sphere.VertexCount);&lt;br /&gt;   glDisableClientState(GL_VERTEX_ARRAY);&lt;br /&gt;   glDisableClientState(GL_NORMAL_ARRAY);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sphere.h&gt;&lt;br /&gt;&lt;br /&gt;#ifndef __SPHERE_H__&lt;br /&gt;#define __SPHERE_H__&lt;br /&gt;&lt;br /&gt;#include &lt;stdlib.h&gt;&lt;br /&gt;#include &lt;string.h&gt;&lt;br /&gt;#include &lt;math.h&gt;&lt;br /&gt;&lt;br /&gt;typedef struct {&lt;br /&gt; float x, y, z;&lt;br /&gt;} Vertex3D;&lt;br /&gt;&lt;br /&gt;class TSphere {&lt;br /&gt;public:&lt;br /&gt;     TSphere();&lt;br /&gt;  void SetModelValue(float radius, int slices, int stacks);&lt;br /&gt;public:&lt;br /&gt;  int    VertexCount;&lt;br /&gt;  Vertex3D *modelvalue;&lt;br /&gt;  Vertex3D *normalvalue; &lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;#endif&lt;br /&gt;&lt;br /&gt;sphere.cpp&gt;&lt;br /&gt;&lt;br /&gt;#include "sphere.h"&lt;br /&gt;&lt;br /&gt;TSphere::TSphere()&lt;br /&gt;{&lt;br /&gt;   //&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void TSphere::SetModelValue(float radius, int slices, int stacks)&lt;br /&gt;{&lt;br /&gt;   float lat0, z0, zr0, lat1, z1, zr1, x, y, lng; &lt;br /&gt;   int    index = 0;&lt;br /&gt;   &lt;br /&gt;   VertexCount = (slices+1) * (stacks+1) * 2;&lt;br /&gt;   modelvalue = new Vertex3D[VertexCount];&lt;br /&gt;   normalvalue = new Vertex3D[VertexCount];&lt;br /&gt;   &lt;br /&gt;   for(int i = 0; i &lt;= slices; i++) {&lt;br /&gt;      lat0 = M_PI * (-0.5 + (i - 1) / (float)slices);&lt;br /&gt;      z0   = sin(lat0) * radius;&lt;br /&gt;      zr0  = cos(lat0) * radius;&lt;br /&gt;&lt;br /&gt;      lat1 = M_PI * (-0.5 + i / (float)slices);&lt;br /&gt;      z1   = sin(lat1) * radius;&lt;br /&gt;      zr1  = cos(lat1) * radius;&lt;br /&gt;&lt;br /&gt;      for(int j = 0; j &lt;= stacks; j++) {&lt;br /&gt;         lng = 2 * M_PI * (j - 1) / stacks;&lt;br /&gt;         x = cos(lng);&lt;br /&gt;         y = sin(lng);&lt;br /&gt;         modelvalue[index].x  = x * zr0;&lt;br /&gt;         modelvalue[index].y  = y * zr0;&lt;br /&gt;         modelvalue[index].z  = z0;&lt;br /&gt;         normalvalue[index].x  = x * zr0;&lt;br /&gt;         normalvalue[index].y  = y * zr0;&lt;br /&gt;         normalvalue[index].z  = z0;&lt;br /&gt;   index++;&lt;br /&gt;         modelvalue[index].x  = x * zr1;&lt;br /&gt;         modelvalue[index].y  = y * zr1;&lt;br /&gt;         modelvalue[index].z  = z1;&lt;br /&gt;         normalvalue[index].x  = x * zr1;&lt;br /&gt;         normalvalue[index].y  = y * zr1;&lt;br /&gt;         normalvalue[index].z  = z1;&lt;br /&gt;   index++;&lt;br /&gt;      }&lt;br /&gt;   }&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-5725423983548220293?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/5725423983548220293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/drawing-sphere-again.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/5725423983548220293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/5725423983548220293'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/drawing-sphere-again.html' title='Drawing sphere again'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QuUEc3KVz6k/SipREhJtqQI/AAAAAAAAAEQ/I3nT82zJlH0/s72-c/Sphere1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-6613504939900892878</id><published>2009-06-06T01:53:00.000-07:00</published><updated>2009-06-06T02:07:35.122-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><title type='text'>Drawing sphere without glut...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QuUEc3KVz6k/SiovRa_zwVI/AAAAAAAAAEI/A29vifEfo3Y/s1600-h/Sphere.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 306px;" src="http://1.bp.blogspot.com/_QuUEc3KVz6k/SiovRa_zwVI/AAAAAAAAAEI/A29vifEfo3Y/s320/Sphere.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5344135884179751250" /&gt;&lt;/a&gt;&lt;br /&gt;Finally, I got a picture which is about drawing sphere.  The routine does not contain glut function and neither glBegin() function.  It is very simple to use. I would like to appreciate to http://ozark.hendrix.edu/~burch/cs/490/sched/feb8/. You can get c source code by visiting the url but u can see little bit different. &lt;br /&gt;&lt;br /&gt;Probably, I will change this routine to c code and Android Java code ...&lt;br /&gt;&lt;br /&gt;For example)&lt;br /&gt;&lt;br /&gt;   SPhere1   :=  TSPhere.Create;&lt;br /&gt;   SPhere1.SetModelValue(0.75, 8, 8);&lt;br /&gt;&lt;br /&gt;in my render() routine...&lt;br /&gt;begin&lt;br /&gt;   ...&lt;br /&gt;   glLoadIdentity;&lt;br /&gt;   glTranslatef(-1.5, 0.0, -3.0);&lt;br /&gt;   glRotatef(Angle,  1.0, 1.0, -1.0);&lt;br /&gt;   glColor3f(0.9, 0.9, 0.9);&lt;br /&gt;   SPhere1.Draw();&lt;br /&gt;   glColor3f(1.0, 1.0, 1.0);&lt;br /&gt;   ...&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;type&lt;br /&gt;  TXCustomVertex = packed Record&lt;br /&gt;    fX, fY, fZ : single;&lt;br /&gt;  end;&lt;br /&gt;&lt;br /&gt;  TSphere = class&lt;br /&gt;  public&lt;br /&gt;     Constructor Create;&lt;br /&gt;     Procedure Draw();&lt;br /&gt;     procedure SetModelValue(r: single; lats, longs : Integer);&lt;br /&gt;  protected&lt;br /&gt;  private&lt;br /&gt;     clats, clongs, vertexCount : Integer;&lt;br /&gt;     ModelValue  : Array of TXCustomVertex;&lt;br /&gt;     NormalValue : Array of TXCustomVertex;&lt;br /&gt;  end;&lt;br /&gt;&lt;br /&gt;Constructor TSphere.Create;&lt;br /&gt;Begin&lt;br /&gt;   //&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;procedure TSphere.SetModelValue(r: single; lats, longs : Integer);&lt;br /&gt;var&lt;br /&gt;   i, j, index : Integer;&lt;br /&gt;   lat0, z0, zr0, lat1,z1, zr1, lng, x, y : Single;&lt;br /&gt;begin&lt;br /&gt;   clats       := lats;&lt;br /&gt;   clongs      := longs;&lt;br /&gt;   vertexCount := (lats+1) * (longs+1) * 2;&lt;br /&gt;&lt;br /&gt;   SetLength(ModelValue, (lats+1) * (longs+1) * 2);&lt;br /&gt;   SetLength(NormalValue, (lats+1) * (longs+1) * 2);&lt;br /&gt;&lt;br /&gt;   index       := 0;&lt;br /&gt;   for i := 0 to lats do begin&lt;br /&gt;      lat0 := PI * (-0.5 + (i - 1) / lats);&lt;br /&gt;      z0   := sin(lat0) * r;&lt;br /&gt;      zr0  := cos(lat0) * r;&lt;br /&gt;&lt;br /&gt;      lat1 := PI * (-0.5 +  i / lats);&lt;br /&gt;      z1   := sin(lat1) * r;&lt;br /&gt;      zr1  := cos(lat1) * r;&lt;br /&gt;&lt;br /&gt;      for j := 0 to longs do begin&lt;br /&gt;         lng := 2 * PI * (j - 1) / longs;&lt;br /&gt;         x := cos(lng);&lt;br /&gt;         y := sin(lng);&lt;br /&gt;         ModelValue[index].fX := x * zr0;&lt;br /&gt;         ModelValue[index].fY := y * zr0;&lt;br /&gt;         ModelValue[index].fZ := z0;&lt;br /&gt;         NormalValue[index].fX := x * zr0;&lt;br /&gt;         NormalValue[index].fY := y * zr0;&lt;br /&gt;         NormalValue[index].fZ := z0;&lt;br /&gt;         index := index + 1;&lt;br /&gt;         ModelValue[index].fX := x * zr1;&lt;br /&gt;         ModelValue[index].fY := y * zr1;&lt;br /&gt;         ModelValue[index].fZ := z1;&lt;br /&gt;         NormalValue[index].fX := x * zr1;&lt;br /&gt;         NormalValue[index].fY := y * zr1;&lt;br /&gt;         NormalValue[index].fZ := z1;&lt;br /&gt;         index := index + 1;&lt;br /&gt;      end;&lt;br /&gt;    end;&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;Procedure TSphere.Draw();&lt;br /&gt;Begin&lt;br /&gt;   glEnableClientState(GL_VERTEX_ARRAY);&lt;br /&gt;   glEnableClientState(GL_NORMAL_ARRAY);&lt;br /&gt;&lt;br /&gt;   glVertexPointer(3, GL_Float, 0, ModelValue);&lt;br /&gt;   glNormalPointer(GL_Float, 0, NormalValue);&lt;br /&gt;&lt;br /&gt;   glDrawArrays(GL_QUAD_STRIP, 0, vertexCount);&lt;br /&gt;&lt;br /&gt;   glDisableClientState(GL_VERTEX_ARRAY);&lt;br /&gt;   glDisableClientState(GL_NORMAL_ARRAY);&lt;br /&gt;End;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-6613504939900892878?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/6613504939900892878/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/drawing-sphere-without-glut.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6613504939900892878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6613504939900892878'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/06/drawing-sphere-without-glut.html' title='Drawing sphere without glut...'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QuUEc3KVz6k/SiovRa_zwVI/AAAAAAAAAEI/A29vifEfo3Y/s72-c/Sphere.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-2974778341907347937</id><published>2009-05-27T00:35:00.000-07:00</published><updated>2009-05-27T00:46:51.750-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Roulette'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>My Mog Roulette game likes this...</title><content type='html'>Probably, it will be completed in the future or may not. &lt;br /&gt;&lt;OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,28;" WIDTH=340 HEIGHT=524&gt;&lt;PARAM NAME=movie VALUE="http://www.hotlinkfiles.com/files/2503287_au5ku/demo.swf"&gt; &lt;PARAM NAME=quality VALUE=high&gt; &lt;PARAM NAME=bgcolor VALUE="#FFFFFF"&gt;&lt;param name="allowFullScreen" value="true" &gt;&lt;param name="flashVars" value="showToolbar=true&amp;topToolbar=true&amp;showFullScreen=true&amp;notScaleInFullScreen=false&amp;autoHide=false&amp;showAutoHide=true&amp;showTimer=true&amp;showTimeline=true&amp;showNextButton=true&amp;showPrevButton=true&amp;showFBLogo=true&amp;showVolumeBar=true&amp;fps=8&amp;str1=Created%20with%20BB%20FlashBack&amp;str2=Visit%20www.bbflashback.com&amp;str3=Hide&amp;showPausedOverlay=true&amp;pauseByClickingOnMovie=true&amp;startingPlaybackMode=2&amp;preloadPercent=0" &gt;&lt;EMBED src="http://www.hotlinkfiles.com/files/2569372_4ouxv/roulette.swf" allowfullscreen="true" flashVars="showToolbar=true&amp;topToolbar=true&amp;showFullScreen=true&amp;notScaleInFullScreen=false&amp;autoHide=false&amp;showAutoHide=true&amp;showTimer=true&amp;showTimeline=true&amp;showNextButton=true&amp;showPrevButton=true&amp;showFBLogo=true&amp;showVolumeBar=true&amp;fps=8&amp;str1=Created%20with%20BB%20FlashBack&amp;str2=Visit%20www.bbflashback.com&amp;str3=Hide&amp;showPausedOverlay=true&amp;pauseByClickingOnMovie=true&amp;startingPlaybackMode=2&amp;preloadPercent=0" quality=high bgcolor="#FFFFFF"  WIDTH=340 HEIGHT=524 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/EMBED&gt;&lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-2974778341907347937?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/2974778341907347937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/my-mog-roulette-game-like-this.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/2974778341907347937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/2974778341907347937'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/my-mog-roulette-game-like-this.html' title='My Mog Roulette game likes this...'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-1049109451970272099</id><published>2009-05-26T20:46:00.000-07:00</published><updated>2009-05-26T20:49:54.808-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Objective-C'/><category scheme='http://www.blogger.com/atom/ns#' term='GNUstep'/><title type='text'>GNUstep</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QuUEc3KVz6k/Shy4JQFKc1I/AAAAAAAAAEA/4LdzodLExLU/s1600-h/gnu_step_rena.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 179px;" src="http://2.bp.blogspot.com/_QuUEc3KVz6k/Shy4JQFKc1I/AAAAAAAAAEA/4LdzodLExLU/s320/gnu_step_rena.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5340345727229522770" /&gt;&lt;/a&gt;&lt;br /&gt;GNUstep is a way of using with Objective-C under Window or other Platform. Probably many know or not that the language can support same functionality as other languages do. The language is being used with "Cocoa" for building an application for IPhone. The language is quit interesting for learning. There are two installation files should download and install. Before install it, Mingw should install first. &lt;a  href="http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/"&gt; Open a new tab this link &lt;/a&gt;,  get gnustep-system-0.9.1-setup.exe and gnustep-core-0.9.2-setup.exe. After that, install it by order. GNUstep Renaissance will give some special things. &lt;a href="http://www.gnustep.it/Renaissance/"&gt; go and get it &lt;/a&gt;.  Probably need its source because should compile and install. Unzip it to MSYS working folder. The working folder will be created by clicking at MSYS shell of GNUstep at first time. The above shown picture shows an execution figure of simple application.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-1049109451970272099?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/1049109451970272099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/gnustep.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/1049109451970272099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/1049109451970272099'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/gnustep.html' title='GNUstep'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QuUEc3KVz6k/Shy4JQFKc1I/AAAAAAAAAEA/4LdzodLExLU/s72-c/gnu_step_rena.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-1045244656727506148</id><published>2009-05-19T06:07:00.000-07:00</published><updated>2009-05-19T06:22:24.099-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Roulette'/><title type='text'>Since, the process can go advance...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QuUEc3KVz6k/ShKxPYbAGmI/AAAAAAAAAD4/yZRBfmqiuRg/s1600-h/m_roulette.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 222px;" src="http://2.bp.blogspot.com/_QuUEc3KVz6k/ShKxPYbAGmI/AAAAAAAAAD4/yZRBfmqiuRg/s320/m_roulette.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5337523386199317090" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-1045244656727506148?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/1045244656727506148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/since-process-can-go-advance.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/1045244656727506148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/1045244656727506148'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/since-process-can-go-advance.html' title='Since, the process can go advance...'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QuUEc3KVz6k/ShKxPYbAGmI/AAAAAAAAAD4/yZRBfmqiuRg/s72-c/m_roulette.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-6183203234492432057</id><published>2009-05-14T23:08:00.001-07:00</published><updated>2009-05-19T06:07:35.473-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Roulette'/><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Clear screen shot of roulette under OpenGL</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QuUEc3KVz6k/Sg0Kk_Lw6sI/AAAAAAAAADw/_tAhQ-7jGg0/s1600-h/opengl_demo.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 305px; height: 320px;" src="http://3.bp.blogspot.com/_QuUEc3KVz6k/Sg0Kk_Lw6sI/AAAAAAAAADw/_tAhQ-7jGg0/s320/opengl_demo.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5335932764056251074" /&gt;&lt;/a&gt;&lt;br /&gt;One of Nehe's OpenGL tutorials gives me an example how to use. The roulette machine will smoothly spin with OpenGL. but since, this picture means alpha valued image works with OpenGL.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-6183203234492432057?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/6183203234492432057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/clear-screen-shot-of-roulette-under.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6183203234492432057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6183203234492432057'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/clear-screen-shot-of-roulette-under.html' title='Clear screen shot of roulette under OpenGL'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_QuUEc3KVz6k/Sg0Kk_Lw6sI/AAAAAAAAADw/_tAhQ-7jGg0/s72-c/opengl_demo.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-1769556827961764972</id><published>2009-05-14T19:16:00.000-07:00</published><updated>2009-05-14T19:22:44.727-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Roulette'/><title type='text'>To apply for alpha value</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QuUEc3KVz6k/SgzRP1NZ8MI/AAAAAAAAADo/hbuPLrzFYfI/s1600-h/result_roullette.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 204px;" src="http://3.bp.blogspot.com/_QuUEc3KVz6k/SgzRP1NZ8MI/AAAAAAAAADo/hbuPLrzFYfI/s320/result_roullette.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5335869728438743234" /&gt;&lt;/a&gt;&lt;br /&gt;To get a proper alpha valued image, some tasks should be included in the previous list. Thank you for &lt;a href="http://newsgroups.cryer.info/borland/public.delphi.graphics/200801/0801245982.html" target="new"&gt;Paul Nicholls&lt;/a&gt;, I found FloodFill() routine which can be used with TBitmap32.&lt;br /&gt;The above shown picture is alpha valued image. When the generated image is opened by Gimp, it will be the same as the shown above picture. I include its source.&lt;br /&gt;&lt;br /&gt;Click -&amp;gt; &lt;a href="http://www.hotlinkfiles.com/files/2541562_fowrg/rollettsnew.zip"&gt; available download &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-1769556827961764972?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/1769556827961764972/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/to-apply-for-alpha-value.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/1769556827961764972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/1769556827961764972'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/to-apply-for-alpha-value.html' title='To apply for alpha value'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_QuUEc3KVz6k/SgzRP1NZ8MI/AAAAAAAAADo/hbuPLrzFYfI/s72-c/result_roullette.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-9086398780159966617</id><published>2009-05-13T19:28:00.000-07:00</published><updated>2009-05-13T20:28:58.167-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Delphi'/><category scheme='http://www.blogger.com/atom/ns#' term='Roulette'/><title type='text'>Make my own Roulette image...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QuUEc3KVz6k/SguNG_AlbVI/AAAAAAAAADg/PwbxM_8yPyM/s1600-h/resultroullette.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 256px; height: 256px;" src="http://2.bp.blogspot.com/_QuUEc3KVz6k/SguNG_AlbVI/AAAAAAAAADg/PwbxM_8yPyM/s320/resultroullette.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5335513334683102546" /&gt;&lt;/a&gt;&lt;br /&gt;Making roulette game will have not an easy task. Probably, the task should be included some mathematic routines. I don't know yet what sort of mathematic should be needed for....&lt;br /&gt;At the moment, I will introduce one method how can make roulette image by Delphi 6 and Graphics32. Of course, there are many ways we can make it by using other development tools. To make an executable file with this source, Delphi 6 Standard and Graphics32 Component should be needed.&lt;br /&gt;&lt;br /&gt;Uses&lt;br /&gt;&amp;nbsp;&amp;nbsp;..., &lt;font color="#0000FF"&gt;&lt;B&gt;Math, GR32_Image, GR32&lt;/B&gt;&lt;/font&gt;; // Add this in Uses &lt;br /&gt;&lt;br /&gt;&lt;font color="#0000FF"&gt;// Conversion double rgb color value to TColor value&lt;/font&gt;&lt;br /&gt;Function  MakeColor(b, g, r: Double): Integer;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result := Trunc(r * 255) shl 16  + Trunc(b * 255) shl 8 + Trunc(g * 255);&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;&lt;font color="#0000FF"&gt;// In order to display text by angle&lt;/font&gt;&lt;br /&gt;procedure TextRotate(bitmap: TBitmap32; x, y, angle: integer; atext: string;afont: TFont);&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lf:LogFont;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;font color="#0000FF"&gt;//Please Change with your country font, test with a different font to get better result...&lt;/font&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bitmap.Font.Name := '궁서체';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bitmap.Font.Size := 12;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Windows.GetObject(Bitmap.Font.Handle, sizeof(LOGFONT), @lf);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lf.lfEscapement  := angle * 10;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lf.lfOrientation := angle * 10;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bitmap.Font.Handle := CreateFontIndirect(lf);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bitmap.Canvas.Brush.Style := bsClear;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Bitmap.Textout(x, y, atext);&lt;br /&gt;end;&lt;br /&gt;&lt;br /&gt;&lt;font color="#0000FF"&gt;// Button event for drawing roulette Image&lt;/font&gt;&lt;br /&gt;procedure TForm1.BitBtn1Click(Sender: TObject);&lt;br /&gt;{ Draw 1 pixcel width line }&lt;br /&gt;procedure DrawLine(X1, Y1, X2, Y2 : Integer; vBitmap: TBitmap32);&lt;br /&gt;Begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Fill area by drawing lines }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.MoveTo(X1,Y1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.LineTo(X2,Y2);&lt;br /&gt;End;&lt;br /&gt;&lt;br /&gt;const&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEG2RAD : double = (3.14159/180);&lt;br /&gt;var&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap : TBitmap32;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dAngle, degInRad, dAngleX : Double;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x1, y1, i, centerx, centery : Integer;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Color0, Color1, Color2 : Integer;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Angle, X, Y, H, H2, W, X3 : Integer;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Step : Real;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValueT : Array of String;&lt;br /&gt;begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap := TBitmap32.Create;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Width := 256;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Height := 256;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;centerx := 128;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;centery := 128;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Pen.Width := 2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Pen.Color := MakeColor(0.66, 0.82, 0.82);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Ellipse(10, 10, vBitmap.Width-10, vBitmap.Height-10);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dAngleX := 360 / 37;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for i := 0 to 36 do begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dAngle := dAngleX * i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;degInRad := dAngle * DEG2RAD;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x1 := centerx - trunc(cos(degInRad) * (centerx-10));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y1 := centery - trunc(sin(degInRad) * (centery-10));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.MoveTo(centerx, centery);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.LineTo(X1, Y1);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Ellipse(40, 40, vBitmap.Width-40, vBitmap.Height-40);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Color0 := MakeColor(1.0, 0.0, 0.0);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Color1 := MakeColor(0.0, 1.0, 0.0);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Color2 := MakeColor(0.0, 0.0, 0.0);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for i := 0 to 36 do begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dAngle := dAngleX * i + 5;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;degInRad := dAngle * DEG2RAD;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(i = 0) then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Brush.Color := Color0&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(i mod 2 = 1) then vBitmap.Canvas.Brush.Color := Color1&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else vBitmap.Canvas.Brush.Color := Color2;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x1 := centerx - trunc(cos(degInRad) * 110);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y1 := centery - trunc(sin(degInRad) * 110);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.FloodFill(x1, y1, vBitmap.Canvas.Pen.Color, fsBorder);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ Get form size }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;H:=vBitmap.Height;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;W:=vBitmap.Width;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Angle := 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Pen.Color := clBlue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (Angle&lt;360) do begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X := centerx - Round(cos(Angle*DEG2RAD) * 88);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y := centery - Round(sin(Angle*DEG2RAD) * 88);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Pen.Color:=RGB(255, 255,abs(255-Angle));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DrawLine(centerx, centery, X, Y, vBitmap);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Inc(Angle);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Angle := 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Pen.Color := clBlue;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (Angle&lt;360) do begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;X := centerx - Round(cos(Angle*DEG2RAD) * 48);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y := centery - Round(sin(Angle*DEG2RAD) * 48);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Pen.Color:=RGB(abs(255-Angle),abs(255-Angle),abs(255-Angle));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DrawLine(centerx, centery, X, Y, vBitmap);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Inc(Angle);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Brush.Color := RGB($DC, $B4, $8C);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Pen.Color := RGB($DC, $B4, $8C);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Rectangle(126, 128-62, 130, 128+62);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Rectangle(128-62, 126, 128+62, 130);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Rectangle(124, 128-62, 132, 128-22);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Rectangle(124, 128+22, 132, 128+62);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Rectangle(128-62, 124, 128-22, 132);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Rectangle(128+22, 124, 128+62, 132);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Font.Color := RGB($FF, $FF, $FF);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Canvas.Brush.Style :=  bsClear;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Angle := 90;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Setlength(ValueT, 37);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValueT[0] := '0'; ValueT[1] := '32'; ValueT[2] := '15';  ValueT[3] := '19';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValueT[4] := '4'; ValueT[5] := '21'; ValueT[6] := '2';  ValueT[7] := '25';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValueT[8] := '17'; ValueT[9] := '34'; ValueT[10] := '6';  ValueT[11] := '27';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValueT[12] := '13'; ValueT[13] := '36'; ValueT[14] := '11';  ValueT[15] := '30';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValueT[16] := '8'; ValueT[17] := '23'; ValueT[18] := '10';  ValueT[19] := '5';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValueT[20] := '24'; ValueT[21] := '16'; ValueT[22] := '33';  ValueT[23] := '1';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValueT[24] := '20'; ValueT[25] := '14'; ValueT[26] := '31';  ValueT[27] := '9';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValueT[28] := '22'; ValueT[29] := '18'; ValueT[30] := '29';  ValueT[31] := '7';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValueT[32] := '28'; ValueT[33] := '12'; ValueT[34] := '35';  ValueT[35] := '5';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ValueT[36] := '26';&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for i := 0 to 36 do begin&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(length(ValueT[i]) = 1) Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dAngle := dAngleX * i + 3&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;dAngle := dAngleX * i;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;degInRad := dAngle * DEG2RAD;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;x1 := centerx - trunc(cos(degInRad) * 110);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Y1 := centery - trunc(sin(degInRad) * 110);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TextRotate(vbitmap, x1, y1, Angle, ValueT[i], vBitmap.Font);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Angle := Angle - 10;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(Angle = 0) then Angle := 360;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PaintBox01.Canvas.CopyRect(Bounds(0, 0, vBitmap.Width, vBitmap.Height), vBitmap.Canvas,&lt;br /&gt;                              Bounds(0, 0, vBitmap.Width, vBitmap.Height));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.SaveToFile('image.bmp');&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;vBitmap.Free;&lt;br /&gt;end;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-9086398780159966617?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/9086398780159966617/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/make-my-own-roulette-image.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/9086398780159966617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/9086398780159966617'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/make-my-own-roulette-image.html' title='Make my own Roulette image...'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QuUEc3KVz6k/SguNG_AlbVI/AAAAAAAAADg/PwbxM_8yPyM/s72-c/resultroullette.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-5678086690033353765</id><published>2009-05-10T23:35:00.000-07:00</published><updated>2009-05-11T00:43:53.808-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>News - 11/05/2009</title><content type='html'>I am happy to introduce my first free Android application - &lt;span style="font-weight:bold;"&gt;Mog Poker&lt;/span&gt;. &lt;span style="font-weight:bold;"&gt;Mog Poker&lt;/span&gt; is a sort of card game, it is easy to play. Just download it by following the direct link. The game will work on &lt;span style="font-weight:bold;"&gt;320 * 320&lt;/span&gt;, &lt;span style="font-weight:bold;"&gt;320 * 480&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;480 * 320&lt;/span&gt; screen size. If you have a smaller size screen than this, please try not to install it into your mobile. The application does not pay anything to me. I spend months to learn and make this application. Testing this application under emulator, it seemingly doesn't make any problem. Please forgive me about try not to test with a real mobile phone. if you do not meet any problem, please enjoy the game. Before trying it, you can see a couple of demo screen  which was made by flash format. You can see the demo screen in the previous list. If you have a problem with viewing the demo screen, please avoid Internet Explorer. No problem with both Google Chrome and Opera.&lt;br /&gt;download 1--&gt;&lt;a href="http://www.hotlinkfiles.com/files/2533651_rg81r/FourCardL.apk"&gt; Mog Poker(large size cards) &lt;/a&gt;&lt;br /&gt;download 2--&gt;&lt;a href="http://www.hotlinkfiles.com/files/2533652_ii2cn/FourCardS.apk"&gt; Mog Poker(small size cards) &lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Important&lt;/span&gt; : &lt;br /&gt;The package was complied with Android version 1.5 and the target was Android 1.1.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-5678086690033353765?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/5678086690033353765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/new-11052009.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/5678086690033353765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/5678086690033353765'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/new-11052009.html' title='News - 11/05/2009'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-3004202160085100216</id><published>2009-05-07T22:19:00.000-07:00</published><updated>2009-05-10T18:37:25.997-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Optimise on a smaller screen.</title><content type='html'>There is no such a screen size (320 * 320) in Android real mobile phone. However, I want to see my application, how it can be optimized on this small screen. I changed each card size, simply redesign cards. Probably, I have to find out different technique, if I want to operate my application on a smaller screen than this screen size.&lt;br /&gt;&lt;OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,28;" WIDTH=340 HEIGHT=524&gt;&lt;PARAM NAME=movie VALUE="http://www.hotlinkfiles.com/files/2503287_au5ku/demo.swf"&gt; &lt;PARAM NAME=quality VALUE=high&gt; &lt;PARAM NAME=bgcolor VALUE="#FFFFFF"&gt;&lt;param name="allowFullScreen" value="true" &gt;&lt;param name="flashVars" value="showToolbar=true&amp;topToolbar=true&amp;showFullScreen=true&amp;notScaleInFullScreen=false&amp;autoHide=false&amp;showAutoHide=true&amp;showTimer=true&amp;showTimeline=true&amp;showNextButton=true&amp;showPrevButton=true&amp;showFBLogo=true&amp;showVolumeBar=true&amp;fps=8&amp;str1=Created%20with%20BB%20FlashBack&amp;str2=Visit%20www.bbflashback.com&amp;str3=Hide&amp;showPausedOverlay=true&amp;pauseByClickingOnMovie=true&amp;startingPlaybackMode=2&amp;preloadPercent=0" &gt;&lt;EMBED src="http://www.hotlinkfiles.com/files/2524888_tit48/demo2_1.swf" allowfullscreen="true" flashVars="showToolbar=true&amp;topToolbar=true&amp;showFullScreen=true&amp;notScaleInFullScreen=false&amp;autoHide=false&amp;showAutoHide=true&amp;showTimer=true&amp;showTimeline=true&amp;showNextButton=true&amp;showPrevButton=true&amp;showFBLogo=true&amp;showVolumeBar=true&amp;fps=8&amp;str1=Created%20with%20BB%20FlashBack&amp;str2=Visit%20www.bbflashback.com&amp;str3=Hide&amp;showPausedOverlay=true&amp;pauseByClickingOnMovie=true&amp;startingPlaybackMode=2&amp;preloadPercent=0" quality=high bgcolor="#FFFFFF"  WIDTH=340 HEIGHT=524 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/EMBED&gt;&lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-3004202160085100216?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/3004202160085100216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/optimise-on-smaller-screen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/3004202160085100216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/3004202160085100216'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/optimise-on-smaller-screen.html' title='Optimise on a smaller screen.'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-8495117994374366173</id><published>2009-05-01T07:19:00.001-07:00</published><updated>2009-05-10T18:37:25.998-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>This is an AD for my game application!</title><content type='html'>&lt;OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,28;" WIDTH=340 HEIGHT=524&gt;&lt;PARAM NAME=movie VALUE="http://www.hotlinkfiles.com/files/2503287_au5ku/demo.swf"&gt; &lt;PARAM NAME=quality VALUE=high&gt; &lt;PARAM NAME=bgcolor VALUE="#FFFFFF"&gt;&lt;param name="allowFullScreen" value="true" &gt;&lt;param name="flashVars" value="showToolbar=true&amp;topToolbar=true&amp;showFullScreen=true&amp;notScaleInFullScreen=false&amp;autoHide=false&amp;showAutoHide=true&amp;showTimer=true&amp;showTimeline=true&amp;showNextButton=true&amp;showPrevButton=true&amp;showFBLogo=true&amp;showVolumeBar=true&amp;fps=8&amp;str1=Created%20with%20BB%20FlashBack&amp;str2=Visit%20www.bbflashback.com&amp;str3=Hide&amp;showPausedOverlay=true&amp;pauseByClickingOnMovie=true&amp;startingPlaybackMode=2&amp;preloadPercent=0" &gt;&lt;EMBED src="http://www.hotlinkfiles.com/files/2521535_gggwl/demo_074040.swf" allowfullscreen="true" flashVars="showToolbar=true&amp;topToolbar=true&amp;showFullScreen=true&amp;notScaleInFullScreen=false&amp;autoHide=false&amp;showAutoHide=true&amp;showTimer=true&amp;showTimeline=true&amp;showNextButton=true&amp;showPrevButton=true&amp;showFBLogo=true&amp;showVolumeBar=true&amp;fps=8&amp;str1=Created%20with%20BB%20FlashBack&amp;str2=Visit%20www.bbflashback.com&amp;str3=Hide&amp;showPausedOverlay=true&amp;pauseByClickingOnMovie=true&amp;startingPlaybackMode=2&amp;preloadPercent=0" quality=high bgcolor="#FFFFFF"  WIDTH=340 HEIGHT=524 TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"&gt;&lt;/EMBED&gt;&lt;/OBJECT&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-8495117994374366173?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/8495117994374366173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/testing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/8495117994374366173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/8495117994374366173'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/05/testing.html' title='This is an AD for my game application!'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-6902400880185943089</id><published>2009-04-29T08:04:00.000-07:00</published><updated>2009-05-10T19:49:58.684-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>Since, I am doing something with ...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QuUEc3KVz6k/SfhuiOYOFVI/AAAAAAAAADU/HFkP1Mj-o58/s1600-h/bob_poker.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 320px;" src="http://1.bp.blogspot.com/_QuUEc3KVz6k/SfhuiOYOFVI/AAAAAAAAADU/HFkP1Mj-o58/s320/bob_poker.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5330131693247272274" /&gt;&lt;/a&gt;&lt;br /&gt;Sometimes, People can understand easily by seeing a picture.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-6902400880185943089?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/6902400880185943089/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/04/since-i-keep-on-doing-something-under.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6902400880185943089'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6902400880185943089'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/04/since-i-keep-on-doing-something-under.html' title='Since, I am doing something with ...'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QuUEc3KVz6k/SfhuiOYOFVI/AAAAAAAAADU/HFkP1Mj-o58/s72-c/bob_poker.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-6922872743593124153</id><published>2009-04-28T23:22:00.001-07:00</published><updated>2009-04-29T21:43:26.786-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Installing SDL (Simple DirectMedia Layer), GLUT (OpenGL Utility Kit) under Mingw</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QuUEc3KVz6k/Sff0XrQKZMI/AAAAAAAAADM/kqgEi5NNdXc/s1600-h/sdl_opengl.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_QuUEc3KVz6k/Sff0XrQKZMI/AAAAAAAAADM/kqgEi5NNdXc/s320/sdl_opengl.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5329997371600954562" /&gt;&lt;/a&gt;&lt;br /&gt;All information can be found through their presented web site. Therefore candidates can directly visit by clicking &lt;a href="http://www.libsdl.org/"&gt;this link&lt;/a&gt;. Candidates will find the appreciated library under the "Download" / "SDL 1.2" section. The library contains many files, however candidates do not need copy all of it. Copy inside files of bin, include and lib folders into your Mingw folder. &lt;br /&gt;Compile method 1)&lt;br /&gt;$ g++ “sourcefile.extension” –o “launching program name”-lsdl&lt;br /&gt;Compile method 2 – include OpenGL lib)&lt;br /&gt;$ g++ “sourcefile.extension” –o “launching program name”-lsdl –lglu32 –lglut32 –lopengl32&lt;br /&gt;If candidates want to use glut library, please visit &lt;a href="http://freeglut.sourceforge.net/"&gt; here &lt;/a&gt;. And will look appreciate method through the web site. Please check the shown above picture.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-6922872743593124153?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/6922872743593124153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/04/installing-sdl-simple-directmedia-layer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6922872743593124153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6922872743593124153'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/04/installing-sdl-simple-directmedia-layer.html' title='Installing SDL (Simple DirectMedia Layer), GLUT (OpenGL Utility Kit) under Mingw'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QuUEc3KVz6k/Sff0XrQKZMI/AAAAAAAAADM/kqgEi5NNdXc/s72-c/sdl_opengl.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-6191588433243209577</id><published>2009-04-22T21:49:00.000-07:00</published><updated>2009-04-29T21:43:26.786-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C++'/><title type='text'>Installation Mingw, MSYS and GTKmm on Windows XP</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QuUEc3KVz6k/Se_zu-mT03I/AAAAAAAAADE/2ddkk9pMFkk/s1600-h/ex_gtk.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 198px;" src="http://4.bp.blogspot.com/_QuUEc3KVz6k/Se_zu-mT03I/AAAAAAAAADE/2ddkk9pMFkk/s320/ex_gtk.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5327744872605799282" /&gt;&lt;/a&gt;&lt;br /&gt;For a long time, I would install some softwares on my old laptop. Three weeks ago, I bought a 40giga hdd, then tried to install into my labtop computer. But, there had some problem and I spent some days to fix it. Finally I get a 30 giga hdd. It was good thing to me because previously I had a 10 giga hdd.&lt;br /&gt;By the way, to install Mingw is quite simple. Candidates can find automated installation setup file from &lt;a href="http://www.mingw.org"&gt; here &lt;/a&gt;.  Please candidate version choose when you install.  Next, candidates can find MSYS automated installation setup file from &lt;a href="http://www.mingw.org"&gt; same URL &lt;/a&gt;.  The default installation path of Mingw is “C:\Mingw” and MSYS is “C:\Mingw\Msys”.  Give a path “C:/Mingw” when MSYS installer asks where Mingw was installed. After the Installation, Please add “C:\Mingw\bin;” to the environment variable called “Path”. There has some works should do under the MSys shell. Before doing it, let install the GTKmm which is stand for Graphic Tool kit … something like that. Go &lt;a  href="http://www.gtkmm.org/"&gt; there &lt;/a&gt;, find and download the automated setup file for windows. Next, give a path “C:\Gtk” When Installer asks where does install you want. The setup will add something on your environment variable. So please relax instead of doing something. Under MSys shell, I could compile and execute any examples of GTKmm with `pkg-config`. Before compile with g++ and gcc, execute the MSys shell. If the MSys shell window is displayed, then go to root directory use “cd” instruction ([ex]cd ..). You can check your current folder by using “pwd” instruction. If you are in root folder, the “pwd” instruction will return “/”. Check file and directory by using “ls” instruction. If you can not see the “gtk” folder, make “gtk” folder by using “mkdir” instruction ([ex]mkdir gtk). Next, Candidate can link this path by editing ‘fstab’ file which is located in “/etc” folder. When you open it, you will know how to do it. Add like “c:/gtk   /gtk”. To edit file under MSys shell, use vi editor. You can find a manual by searching Internet. Now close the MSys shell and execute again. Go to “/gtk” directory and check file and directory. If you have some files and directories, you get “gtk” under MSys shell. Now go to your working folder by “cd” instruction ([ex]cd). Make example file for compiling. Here is compiling example. Ex) $ gcc tutorial1.cc –o tutorial `pkg-config --cflags --libs gtkmm-2.4`.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-6191588433243209577?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/6191588433243209577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/04/installation-mingw-msys-and-gtkmm-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6191588433243209577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6191588433243209577'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/04/installation-mingw-msys-and-gtkmm-on.html' title='Installation Mingw, MSYS and GTKmm on Windows XP'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QuUEc3KVz6k/Se_zu-mT03I/AAAAAAAAADE/2ddkk9pMFkk/s72-c/ex_gtk.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-3416037020195139999</id><published>2009-04-19T23:36:00.000-07:00</published><updated>2009-05-10T19:50:08.666-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>It's a tunning point to make my game application.</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QuUEc3KVz6k/SewYI4kr-fI/AAAAAAAAAC8/7rU_MfFR_Eo/s1600-h/launching.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 187px;" src="http://1.bp.blogspot.com/_QuUEc3KVz6k/SewYI4kr-fI/AAAAAAAAAC8/7rU_MfFR_Eo/s320/launching.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5326659000176736754" /&gt;&lt;/a&gt;&lt;br /&gt;Presently, I challenge to make my game application which would be operated under the Android platform. To complete the application I think many days will go. Thank to Nokia forum that I could find a good card resource from them...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-3416037020195139999?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/3416037020195139999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/04/its-tunning-point-to-make-my-game.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/3416037020195139999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/3416037020195139999'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/04/its-tunning-point-to-make-my-game.html' title='It&apos;s a tunning point to make my game application.'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QuUEc3KVz6k/SewYI4kr-fI/AAAAAAAAAC8/7rU_MfFR_Eo/s72-c/launching.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-5180266362903670393</id><published>2009-04-12T19:18:00.000-07:00</published><updated>2009-05-10T19:51:13.303-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Introduction of Android skin</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QuUEc3KVz6k/SeKcDVFnIEI/AAAAAAAAACw/QAxw9iGtKgY/s1600-h/android_skin1.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 268px;" src="http://1.bp.blogspot.com/_QuUEc3KVz6k/SeKcDVFnIEI/AAAAAAAAACw/QAxw9iGtKgY/s320/android_skin1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5323989290519568450" /&gt;&lt;/a&gt;&lt;br /&gt;I think many people already knew this article, however for some people's ignorance I would like to introduce one thing which is about the android skin, it can be downloaded through the suggested URL in this picture. I appreciate to the creator of those skins. The above shown picture is my favorite skin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-5180266362903670393?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/5180266362903670393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/04/introduction-of-android-skin_12.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/5180266362903670393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/5180266362903670393'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/04/introduction-of-android-skin_12.html' title='Introduction of Android skin'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QuUEc3KVz6k/SeKcDVFnIEI/AAAAAAAAACw/QAxw9iGtKgY/s72-c/android_skin1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-8642968643555000242</id><published>2009-04-12T18:56:00.000-07:00</published><updated>2009-05-10T19:51:13.303-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>안드로이드 스킨 소개</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_QuUEc3KVz6k/SeKcDVFnIEI/AAAAAAAAACw/QAxw9iGtKgY/s1600-h/android_skin1.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 268px;" src="http://1.bp.blogspot.com/_QuUEc3KVz6k/SeKcDVFnIEI/AAAAAAAAACw/QAxw9iGtKgY/s320/android_skin1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5323989290519568450" /&gt;&lt;/a&gt;&lt;br /&gt;이미 안드로이드를 알고 계시는 분은 이미 알고 계시리라 생각되지만 혹시나 아직 모르시는 분을 위하여 이렇게 보기좋은 에뮬레이터 스킨을 올립니다.  그림에 제시되어진 주소를 찾아 가셔서 입맛에 맞는 스킨을 사용해 보시십요.  올려진 그림은 제가 좋아하는 에뮬레이터 스킨입니다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-8642968643555000242?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/8642968643555000242/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/04/introduction-of-android-skin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/8642968643555000242'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/8642968643555000242'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/04/introduction-of-android-skin.html' title='안드로이드 스킨 소개'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_QuUEc3KVz6k/SeKcDVFnIEI/AAAAAAAAACw/QAxw9iGtKgY/s72-c/android_skin1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-6969511189765519860</id><published>2009-03-26T20:00:00.000-07:00</published><updated>2009-05-10T19:51:13.303-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>이클립스 그리고 두달이란 시간동안...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QuUEc3KVz6k/ScxHEhixYyI/AAAAAAAAACo/0WOadOoB4qs/s1600-h/bob_d.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 242px;" src="http://2.bp.blogspot.com/_QuUEc3KVz6k/ScxHEhixYyI/AAAAAAAAACo/0WOadOoB4qs/s320/bob_d.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5317703403066975010" /&gt;&lt;/a&gt;&lt;br /&gt;이클립스를 접하게 된것은 아마도 두달전으로 거슬러 올라갑니다. 처음엔 이클립스에 그냥 자바 스탠다드 플랫폼을 이용하여 일반 데이타베이스 클라이언트 응용프로그램을 진행하다가 어느날 문득 모바일에서 돌아가는 응용 프로그램을 만들어 보고 싶다는 생각에 그날 부터 인터넷을 찾아보며 진행을 했습니다. Net bean도 설치해 사용해 보았지만 역시 본인에게는 이클립스가 더 좋네요. Nokia의 Carbide C++은 한번 시도해 보고 싶은데 가지고 있는 노트북이 저사양이고 제대로 사용할려면 상당히 많은 양을 SDK를 필요로 하기 때문에 일단 뒤로 미루고, 이전에 올린 게시물의 지식을 얻기 위하여 여기 저기 인터넷을 많이 돌아 다녔습니다. 그리고 이쪽분야의 지식을 알기 위해서 전화도 해보고 사람도 만나보고 첫번째 에뮬레이터에서 돌아가는 응용프로그램 스크린샷을 함께 올립니다. 이미 국내에 삼성과 LG에 제가 구상한 응용프로그램이 탑재되 있기에 의미가 없지만 역시 그래도 배움이 있었기에...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-6969511189765519860?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/6969511189765519860/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/blog-post_324.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6969511189765519860'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6969511189765519860'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/blog-post_324.html' title='이클립스 그리고 두달이란 시간동안...'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScxHEhixYyI/AAAAAAAAACo/0WOadOoB4qs/s72-c/bob_d.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-6600777085214854435</id><published>2009-03-26T19:27:00.000-07:00</published><updated>2009-05-10T19:51:13.303-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>이클립스에 구글안드로이드 플랫폼 붙이기 두번째</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_QuUEc3KVz6k/Scw5pwthZjI/AAAAAAAAACg/-s441x0hDF4/s1600-h/android.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="http://3.bp.blogspot.com/_QuUEc3KVz6k/Scw5pwthZjI/AAAAAAAAACg/-s441x0hDF4/s320/android.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5317688649630967346" /&gt;&lt;/a&gt;&lt;br /&gt;그림에서 보듯이 Window &gt; Preferences 메뉴를 클릭한 후 왼쪽의 Android 항목을 클릭합니다. 그리고 나서 안드로이드 SDK가 설치된 경로를 (예: C:\android-sdk-windows-1.1_r1) 설정합니다. 나머지 설정은 그냥 디폴트로 두시면 됩니다.  이클립스에 Android Project 메뉴 추가를 위하여 Windows &gt; Customize Perspective... 를 클릭하셔서 나타나는 다이알로그에서 Android와 관련된 항목을 선택하시면 Android Project를 시작하실수 있습니다. 이렇게 함으로써 이클립스와 자바를 이용하여 모바일에서 실행되어질 수 있는 게임개발에 한발짝 다가갈 수 있습니다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-6600777085214854435?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/6600777085214854435/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/blog-post_26.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6600777085214854435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/6600777085214854435'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/blog-post_26.html' title='이클립스에 구글안드로이드 플랫폼 붙이기 두번째'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_QuUEc3KVz6k/Scw5pwthZjI/AAAAAAAAACg/-s441x0hDF4/s72-c/android.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-3239329420006157154</id><published>2009-03-25T23:48:00.000-07:00</published><updated>2009-05-10T19:51:13.304-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>이클립스에 구글안드로이드 플랫폼 붙이기 첫번째</title><content type='html'>구글 안드로이드 SDK는 &lt;a href="http://developer.android.com/sdk/1.1_r1/index.html"&gt; 여기로 &lt;/a&gt; 가셔서 받을실 수 있습니다. 다운 받으신 파일은 C:\에 압축을 풀면 됩니다. 이클립스 유로파나 가니메데 버전에서 돌아가며 OS는 윈도우의 경우 Windows XP (32-bit) or Vista (32- or 64-bit) 가 필요합니다. 마찬가지고 이클립스 플러그(일명 ADT)인이 필요하며 이클립스 가니메데 버전의 경우 아래와 같은 방법으로 설치합니다.&lt;br /&gt;&lt;br /&gt;1. 이클립스를 실행하시하신후, Help&gt; Software Updates... 순으로 메뉴를 클릭합니다.&lt;br /&gt;2. 나타나는 다이알로그 안에서, Avaiable Software tab을 클릭합니다. &lt;br /&gt;3. Add Site...를 클릭하여 plugin 내려받을 사이트를 설정합니다.&lt;br /&gt;4. 다음과 같이 URL을 입력합니다. "http://dl-ssl.google.com/android/eclipse/"&lt;br /&gt;5. Android Devlopment Tools, Android Editors를 클릭하신 후 Install 버튼을 클릭합니다.&lt;br /&gt;&lt;br /&gt;설치가 완료되면 Eclipse를 재구동합니다. ADT와 관련된 설정은 두번째를 참고 하십시요. 아래 동영상은 보다폰에 안드로이드 플랫폼이 탑재된 동영상 입니다.&lt;br /&gt;&lt;br /&gt;&lt;object width="480" height="295"&gt;&lt;param name="movie" value="http://www.youtube.com/v/F-faQxRxKC0&amp;hl=ko&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/F-faQxRxKC0&amp;hl=ko&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-3239329420006157154?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/3239329420006157154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/blog-post_4914.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/3239329420006157154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/3239329420006157154'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/blog-post_4914.html' title='이클립스에 구글안드로이드 플랫폼 붙이기 첫번째'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-9081881375959628139</id><published>2009-03-25T23:24:00.000-07:00</published><updated>2009-05-10T19:51:13.304-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>이클립스에 SK-VM 플랫폼 적용하기 세번째</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QuUEc3KVz6k/ScshKSxD0yI/AAAAAAAAACY/U2_b1kUadME/s1600-h/eclipse5.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://2.bp.blogspot.com/_QuUEc3KVz6k/ScshKSxD0yI/AAAAAAAAACY/U2_b1kUadME/s320/eclipse5.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5317380245761020706" /&gt;&lt;/a&gt;&lt;br /&gt;이젠 Windows -&gt; Customize Perspective... 메뉴를 이용하여 XVM Project 항목과 관련된 1개 메뉴를 추가함으로써 개발자는 SK-VM에 실행되어지는 프로젝트를 쉽게 시작할 수 있습니다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-9081881375959628139?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/9081881375959628139/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/sk-vm_7003.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/9081881375959628139'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/9081881375959628139'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/sk-vm_7003.html' title='이클립스에 SK-VM 플랫폼 적용하기 세번째'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScshKSxD0yI/AAAAAAAAACY/U2_b1kUadME/s72-c/eclipse5.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-397020872761282273</id><published>2009-03-25T23:16:00.000-07:00</published><updated>2009-05-10T19:51:13.304-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>이클립스에 SK-VM 플랫폼 적용하기 두번째</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QuUEc3KVz6k/ScseqmZCOUI/AAAAAAAAACQ/0Uco-Z9vFKs/s1600-h/eclipse4.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 223px;" src="http://2.bp.blogspot.com/_QuUEc3KVz6k/ScseqmZCOUI/AAAAAAAAACQ/0Uco-Z9vFKs/s320/eclipse4.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5317377502249892162" /&gt;&lt;/a&gt;&lt;br /&gt;SK-VM을 설치하신후 마찬가지로 설정이 필요합니다. Eclipse의 Windows &gt; Preferences 를 클릭하신후 왼쪽은 새롭게 나타난 XVM을 선택합니다. 에뮬레이터의 실행파일 위치와 에뮬레이터 장치(스킨)을 설정합니다. 메모리 양을 512 또는 1024라고 입력하신 후 설정을 마칩니다. 그림을 참고 하십시요...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-397020872761282273?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/397020872761282273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/sk-vm_25.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/397020872761282273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/397020872761282273'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/sk-vm_25.html' title='이클립스에 SK-VM 플랫폼 적용하기 두번째'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScseqmZCOUI/AAAAAAAAACQ/0Uco-Z9vFKs/s72-c/eclipse4.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-4718665156996897599</id><published>2009-03-25T22:45:00.000-07:00</published><updated>2009-05-10T19:51:13.304-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>이클립스에 SK-VM 플랫폼 적용하기 첫번째</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_QuUEc3KVz6k/ScscbBbqyHI/AAAAAAAAACI/knMdSDklL7I/s1600-h/eclipse4.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 81px;" src="http://4.bp.blogspot.com/_QuUEc3KVz6k/ScscbBbqyHI/AAAAAAAAACI/knMdSDklL7I/s320/eclipse4.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5317375035607533682" /&gt;&lt;/a&gt;&lt;br /&gt;SK-VM은 SK Telecom에서 clean room 기반으로 자체 개발한 J2ME(Java 2 Micro Eidtion) 자바 실행 환경으로 가상머신 및 단말 확장 UI, 네트워크, IO를 포함하는 클래스 라이브러리로 구성되어 있으며, 무선이동단말기에서 응용프로그램을 다운로드 및 실행시킬 수 있는 환경을 제공한다.(SK Telecom, XCE) &lt;br /&gt;&lt;br /&gt;SK-VM은 &lt;a href="http://developer.xce.co.kr/"&gt; http://developer.xce.co.kr /&lt;/a&gt;로 가셔서 회원가입을 하신후에  &lt;a href="http://developer.xce.co.kr/release/release_sdk01.asp"&gt; 여기서&lt;/a&gt; 다운을 받고 설치하시면 됩니다. 설치가 완료되신 후 이클립스의 메뉴부분을 확인하십시요. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;참고&lt;br /&gt;&lt;br /&gt;1. SK Telecom, XCE, 2009.03.25, &lt;br /&gt;view http://www.javastudy.co.kr/docs/lec_j2me/mobilejava/n-top/2.htm&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-4718665156996897599?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/4718665156996897599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/sk-vm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/4718665156996897599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/4718665156996897599'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/sk-vm.html' title='이클립스에 SK-VM 플랫폼 적용하기 첫번째'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_QuUEc3KVz6k/ScscbBbqyHI/AAAAAAAAACI/knMdSDklL7I/s72-c/eclipse4.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-1170455934716685525</id><published>2009-03-25T22:11:00.000-07:00</published><updated>2009-05-10T19:51:13.304-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>MTJ설정후 Eclipse 추가적으로 할일들...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QuUEc3KVz6k/ScsRxTqnlLI/AAAAAAAAACA/SrEGptha2FY/s1600-h/eclipse3.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://2.bp.blogspot.com/_QuUEc3KVz6k/ScsRxTqnlLI/AAAAAAAAACA/SrEGptha2FY/s320/eclipse3.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5317363323831293106" /&gt;&lt;/a&gt;&lt;br /&gt;MTJ와 Antenna 가 설치가 완료되어 졌다면 이클립스로 우리는 핸드폰용 게임 또는 응용 프로그램 개발(일명 CLDC, MIDP)을 시작할 수 있으며 Windows -&gt; Customize Perspective... 메뉴를 이용하여 Java ME 항목과  관련된 두개의 메뉴를 추가함으로써 Eclipse 사용자들은 Midlet 프로젝트를 쉽게 시작할 수 있습니다. 이제 이클립스에서 자바를 이용하여 모바일 게임을 시작할 수 있습니다. 단 외국모바일 폰에 한에서...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-1170455934716685525?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/1170455934716685525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/mtj-eclipse.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/1170455934716685525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/1170455934716685525'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/mtj-eclipse.html' title='MTJ설정후 Eclipse 추가적으로 할일들...'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScsRxTqnlLI/AAAAAAAAACA/SrEGptha2FY/s72-c/eclipse3.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-3366514743647500780</id><published>2009-03-25T21:24:00.000-07:00</published><updated>2009-05-10T19:51:13.304-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>Antenna와 MTJ...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QuUEc3KVz6k/ScsKX8CtIkI/AAAAAAAAAB4/QubRGJoJRv0/s1600-h/eclipse2.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 41px;" src="http://2.bp.blogspot.com/_QuUEc3KVz6k/ScsKX8CtIkI/AAAAAAAAAB4/QubRGJoJRv0/s320/eclipse2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5317355191411745346" /&gt;&lt;/a&gt;&lt;br /&gt;Antenna나는 아팟치의 Ant의 확장이라고 합니다. Ant는 순수한 자바 툴이며, GNU make 보다 단순하고 쉽게 사용할 수 있다고 하네요. 어쨌거나 설치는 antenna-bin-1.0.2.jar 파일은 &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=67420&amp;package_id=65779"&gt; 여기서&lt;/a&gt; 받으힌 후 antenna-bin-1.0.2.jar 파일을 편의상 eclipse의 plugin 폴더에 복사 합니다. 설정은 마찬가지로 eclipse를 구동하신 후 Window -&gt; Preferences 를 클릭한 후 왼쪽의 Java ME 항목을 선택하신 후 C:\eclipse\plugins\antenna-bin-1.0.2.jar라고 Antenna jar 경로를 설정합니다. Java ME 항목 &gt; Preprocessor &gt; Symbol Set Definitions이 추가됐네요... MTJ 사용자들은 Antenna 형식에 맞게 이미 정의되어진 심볼을 임포트 할 수 있다고 합니다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-3366514743647500780?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/3366514743647500780/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/antenna-mtj.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/3366514743647500780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/3366514743647500780'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/antenna-mtj.html' title='Antenna와 MTJ...'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScsKX8CtIkI/AAAAAAAAAB4/QubRGJoJRv0/s72-c/eclipse2.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-7944052227318130542</id><published>2009-03-25T20:15:00.000-07:00</published><updated>2009-05-10T19:51:13.305-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>이클립스에 MTJ를 붙이기...</title><content type='html'>여기서 MTJ는 Mobile Tools for Java라고 표기 되어질 수 있으며 이클립스에서 자바 모바일 응용 프로그램을 좀더 쉽게 개발할 수 있도록 해주는 플러그인 입니다. MTJ의 Misssion Statement는 아래와 같습니다. &lt;br /&gt;&lt;br /&gt;The goal of the Mobile Tools for JavaTM (MTJ) project is to extend existing Eclipse frameworks to support mobile device Java application development.&lt;br /&gt;&lt;br /&gt;자 마찬가지로 다운로드를 받으러 가야됩니다. 경로는 &lt;a href="http://www.eclipse.org/dsdp/mtj/"&gt; 여기로&lt;/a&gt; 가셔서 Latest Release를 받으시면 됩니다. zip format의 압축 파일은 풀면 features 폴더와 plugins인 폴더로 나우어져 있는데 설치된 eclipse 폴더 안에 이미 존재 합니다. 그러므로 덮어쓰기 형태로 풀면 플러그인이 설치되며 eclipse가 구동중이라면 재 구동을 통하여 플러그인이 제대로 설치되었는지 여부를 가늠할 수 있습니다.&lt;br /&gt;&lt;br /&gt;일단 MTJ를 설치한 후 MTJ가 제대로 작동하기 위하여 설정이 필요합니다. eclipse를 구동하시면 아주 잘 만들어진 IDE가 보일 것입니다. 메뉴는 File, Edit, Navigate 등등이 있는데 이중에서 설정을 하기 위하여 Windows 메뉴를 클릭합니다. 여러개의 Submenu중에 Preferences를 클릭하시면 Preferences 타이틀을 가진 다이얼로그가 화면에 나타납니다. 윈쪽의 항목에서 Java ME를 클릭하신후 WTK Root 경로를 잡아줘야 합니다. WTK는 Wireless Tookit for CLDC라고 표기 되어질 수 있으며 이미 앞에서 설치하였으므로 경로가 어디인지는 아실겁니다. 일반적으로 C:\WTK2.5.2_01 이곳에 설치됩니다. 다음은 Java ME의 항목안에 Device Management를 선택한 후 Import 버튼을 클릭하여 마찬가지로 C:\WTK2.5.2_01 경로를 선택합니다. Device Management는 에뮬레이터 스킨이라고 할 수 있으며 이클립스에 새 프로젝트를 만들때마다 여기서 선택한 디폴트 디바이스(MediaControlSkin)가 선택됩니다. 프로젝트를 만들고 난 이후에도 결과 실행시 에뮬레이터 스킨은 변경이 가능합니다. 다음으로 Antenna를 설정해야 합니다&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-7944052227318130542?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/7944052227318130542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/mtj.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/7944052227318130542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/7944052227318130542'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/mtj.html' title='이클립스에 MTJ를 붙이기...'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-610636063868486162.post-1771048245035728559</id><published>2009-03-25T19:07:00.000-07:00</published><updated>2009-05-10T19:51:13.305-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Eclipse'/><title type='text'>이클립스 설치는 이렇게 ...</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_QuUEc3KVz6k/Scrybh5blPI/AAAAAAAAABw/E4RcSlApdeQ/s1600-h/eclipsel.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 207px;" src="http://2.bp.blogspot.com/_QuUEc3KVz6k/Scrybh5blPI/AAAAAAAAABw/E4RcSlApdeQ/s320/eclipsel.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5317328864833934578" /&gt;&lt;/a&gt;&lt;br /&gt;이클립스 구동의 최소 충분 조건으로 자바 런타임 모듈 최신버전이 필요 합니다. JRE 최신버전은 &lt;a href="http://java.sun.com/javase/downloads/index.jsp"&gt; Sun &lt;/a&gt;에서 JRE 6 바이너리 설치 모듈을 다운받아서 설치하시면 됩니다. 자바 런타임 모듈 설치가 완료되면 제어판에서 확인이 가능하며 이클립스 내부에 따로 JRE 폴더와 파일이 존재 하지만 이는 정상적으로 설정되지 않으므로 직접 JRE를 설치하는 것이 좋습니다.&lt;br /&gt;&lt;br /&gt;자바 런타임 모듈 설치외에 자바 개발 툴 (일명 JDK) 설치도 상황에 따라 필요한데 예를 들자면 구글에서 최근에 개발 중인 안드로이드 플랫폼을 구동하고 싶다면 JDK 또한 &lt;a href="http://java.sun.com/javase/downloads/index.jsp"&gt;Sun &lt;/a&gt;에서 다운 받아서 설치 합니다.  설치는 인스톨러가 제시하는 데로 진행하면 됩니다.&lt;br /&gt;&lt;br /&gt;다음은 이클립스와 자바 마이크로 에디션을 이용하여 모바일 응용프로그램을 개발할 수 있도록 Sun 에서 제공하는 Wireless Toolkit을 설치해야 합니다.  현재 3.0 버전과  2.5.2 버전 두가지중 필자는 가지고 있는 노트북이 저사양이기 때문에 2.5.2 버전을 사용합니다.  다운로드가 가능한 URL은 &lt;a href="http://java.sun.com/products/sjwtoolkit/download.html"&gt; 여기로 &lt;/a&gt; 가서 다운 받으시면 됩니다.&lt;br /&gt;&lt;br /&gt;이렇게 하여 이클립스를 구동하기 위한 필요 충분 조건이 갖추어졌으므로 이제 이클립스를 다운받으러 가야 겠지요 다운로드가 가능한 주소는 &lt;a href="http://www.eclipse.org/downloads/"&gt; 여기로 &lt;/a&gt; 가셔서  원하는 파일을 다운받으시면 됩니다. 다운로드는 국내의 경우 다음을 통하여 받으므로 상당히 빠릅니다. 설치는 그냥 압축을 C:\에 풀면  c:\eclipse 경로에 풀리게 됩니다. 이제 윈도우 탐색기를 이용하여 C:\eclipse\eclipse.exe 파일을 실행하시면 우리의 이클립스는 멋지게 실행이 됩니다. 실행시에는 작업경로를 설정하여야 합니다.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/610636063868486162-1771048245035728559?l=visitlikeportal.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visitlikeportal.blogspot.com/feeds/1771048245035728559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/blog-post.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/1771048245035728559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/610636063868486162/posts/default/1771048245035728559'/><link rel='alternate' type='text/html' href='http://visitlikeportal.blogspot.com/2009/03/blog-post.html' title='이클립스 설치는 이렇게 ...'/><author><name>Kim(Bob)</name><uri>http://www.blogger.com/profile/11868489030255014574</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_QuUEc3KVz6k/ScrjVlBjGmI/AAAAAAAAABQ/fD1ELN6uLl4/S220/1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_QuUEc3KVz6k/Scrybh5blPI/AAAAAAAAABw/E4RcSlApdeQ/s72-c/eclipsel.JPG' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
