<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[125665] trunk/dports/graphics</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/125665">125665</a></dd>
<dt>Author</dt> <dd>mf2k@macports.org</dd>
<dt>Date</dt> <dd>2014-09-23 14:42:10 -0700 (Tue, 23 Sep 2014)</dd>
</dl>
<h3>Log Message</h3>
<pre>mandelbrot-set-viewer: New port.</pre>
<h3>Added Paths</h3>
<ul>
<li>trunk/dports/graphics/mandelbrot-set-viewer/</li>
<li><a href="#trunkdportsgraphicsmandelbrotsetviewerPortfile">trunk/dports/graphics/mandelbrot-set-viewer/Portfile</a></li>
<li>trunk/dports/graphics/mandelbrot-set-viewer/files/</li>
<li><a href="#trunkdportsgraphicsmandelbrotsetviewerfilespatchmainpydiff">trunk/dports/graphics/mandelbrot-set-viewer/files/patch-main.py.diff</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportsgraphicsmandelbrotsetviewerPortfile"></a>
<div class="addfile"><h4>Added: trunk/dports/graphics/mandelbrot-set-viewer/Portfile (0 => 125665)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/graphics/mandelbrot-set-viewer/Portfile         (rev 0)
+++ trunk/dports/graphics/mandelbrot-set-viewer/Portfile        2014-09-23 21:42:10 UTC (rev 125665)
</span><span class="lines">@@ -0,0 +1,56 @@
</span><ins>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
+# $Id$
+
+PortSystem 1.0
+
+name mandelbrot-set-viewer
+version 5.01
+set python_version 27
+categories graphics
+platforms darwin
+maintainers nomaintainer
+license unknown
+
+description Python Mandelbrot Set Viewer
+long_description ${description}
+
+homepage http://pygame.org/project-Mandelbrot+Set+Viewer-698-4788.html
+
+master_sites http://www.geometrian.com/data/programming/projects/Mandelbrot%20Set/Viewer%20${version}/
+
+distname Mandelbrot Set Viewer ${version}
+worksrcdir ${version}
+use_zip yes
+supported_archs noarch
+
+checksums rmd160 2324558ff47c91453650156c9137dffe87bcfbf4 \
+ sha256 1cf037a2b0b759e5702e2cc06261d110179fe5a8e6deaa4fc8bc069780e17a93
+
+patchfiles patch-main.py.diff
+
+depends_run port:py${python_version}-game \
+ port:py${python_version}-opengl \
+ port:python${python_version}
+
+use_configure no
+build {}
+
+destroot {
+ file mkdir ${destroot}${prefix}/share/${name}
+ xinstall -m 644 -W ${worksrcpath} README.txt config.py ${destroot}${prefix}/share/${name}
+ xinstall -m 755 -W ${worksrcpath} gl_shader.py main.py ${destroot}${prefix}/share/${name}
+ file rename ${destroot}${prefix}/share/${name}/config.py ${destroot}${prefix}/share/${name}/config.py.dist
+ ln -s ${destroot}${prefix}/share/${name}/main.py ${destroot}${prefix}/bin/${name}
+}
+
+post-activate {
+ if {![file exists ${prefix}/share/${name}/config.py]} {
+ file copy ${prefix}/share/${name}/config.py.dist ${prefix}/share/${name}/config.py
+ }
+}
+
+notes "To run this program, type 'python2.7 ${prefix}/share/${name}/main.py'.
+You can modify the output by changing ${prefix}/share/${name}/config.py"
+
+livecheck.url ${homepage}
+livecheck.regex Mandelbrot Set Viewer - (\\d+(\\.\\d+)+)
</ins><span class="cx">Property changes on: trunk/dports/graphics/mandelbrot-set-viewer/Portfile
</span><span class="cx">___________________________________________________________________
</span></span></pre></div>
<a id="svnkeywords"></a>
<div class="addfile"><h4>Added: svn:keywords</h4></div>
<a id="svneolstyle"></a>
<div class="addfile"><h4>Added: svn:eol-style</h4></div>
<a id="trunkdportsgraphicsmandelbrotsetviewerfilespatchmainpydiff"></a>
<div class="addfile"><h4>Added: trunk/dports/graphics/mandelbrot-set-viewer/files/patch-main.py.diff (0 => 125665)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/graphics/mandelbrot-set-viewer/files/patch-main.py.diff         (rev 0)
+++ trunk/dports/graphics/mandelbrot-set-viewer/files/patch-main.py.diff        2014-09-23 21:42:10 UTC (rev 125665)
</span><span class="lines">@@ -0,0 +1,98 @@
</span><ins>+--- main.py.orig        2014-09-23 13:57:41.000000000 -0600
++++ main.py        2014-09-23 14:16:46.000000000 -0600
+@@ -20,7 +20,7 @@
+ font = pygame.font.SysFont("Times New Roman.ttf",12)
+
+ icon = pygame.Surface((1,1)); icon.set_alpha(0); pygame.display.set_icon(icon)
+-pygame.display.set_caption("MandebrotGLSL - Ian Mallett - v.5.01 - 2014")
++pygame.display.set_caption("MandebrotGLSL - Ian Mallett - v.5.02 - 2014")
+ pygame.display.set_mode(screen_size,RESIZABLE|OPENGL|DOUBLEBUF)
+
+ glEnable(GL_BLEND)
+@@ -28,8 +28,9 @@
+
+ mandelbrot_shader = shader_module.Program([
+ shader_module.ShaderFragment("""
+-//#define SIMPLE
+-#ifndef SIMPLE
++//#define BLACK_AND_WHITE
++#ifndef BLACK_AND_WHITE
++// #define HAS_SWITCH
+ #define HAS_MOD
+ #ifdef HAS_MOD
+ #extension GL_EXT_gpu_shader4 : enable /*for "%"*/
+@@ -52,32 +53,51 @@
+ uniform FVEC2 bounds_y;
+ uniform FVEC2 screen_size;
+ vec3 get_color(int iter) {
+- #ifndef SIMPLE
++ #ifdef BLACK_AND_WHITE
++ return vec3(255.0);
++ #else
+ #ifdef HAS_MOD
+- switch (iter%16) {
++ iter %= 16;
+ #else
+- iter -= (iter/16)*16;
+- switch (iter) {
++ iter -= (iter/16)*16;
++ #endif
++ #ifdef HAS_SWITCH
++ switch (iter) {
++ case 0: return vec3(241,233,191);
++ case 1: return vec3(248,201, 95);
++ case 2: return vec3(255,170, 0);
++ case 3: return vec3(204,108, 0);
++ case 4: return vec3(153, 87, 0);
++ case 5: return vec3(106, 52, 3);
++ case 6: return vec3( 66, 30, 15);
++ case 7: return vec3( 25, 7, 26);
++ case 8: return vec3( 9, 1, 47);
++ case 9: return vec3( 4, 4, 73);
++ case 10: return vec3( 0, 7,100);
++ case 11: return vec3( 12, 44,138);
++ case 12: return vec3( 24, 82,177);
++ case 13: return vec3( 57,125,209);
++ case 14: return vec3(134,181,229);
++ case 15: return vec3(211,236,248);
++ }
++ #else
++ if (iter== 0) return vec3(241,233,191);
++ else if (iter== 1) return vec3(248,201, 95);
++ else if (iter== 2) return vec3(255,170, 0);
++ else if (iter== 3) return vec3(204,108, 0);
++ else if (iter== 4) return vec3(153, 87, 0);
++ else if (iter== 5) return vec3(106, 52, 3);
++ else if (iter== 6) return vec3( 66, 30, 15);
++ else if (iter== 7) return vec3( 25, 7, 26);
++ else if (iter== 8) return vec3( 9, 1, 47);
++ else if (iter== 9) return vec3( 4, 4, 73);
++ else if (iter==10) return vec3( 0, 7,100);
++ else if (iter==11) return vec3( 12, 44,138);
++ else if (iter==12) return vec3( 24, 82,177);
++ else if (iter==13) return vec3( 57,125,209);
++ else if (iter==14) return vec3(134,181,229);
++ else /*if (iter==15)*/ return vec3(211,236,248);
+ #endif
+- case 0: return vec3(241,233,191);
+- case 1: return vec3(248,201, 95);
+- case 2: return vec3(255,170, 0);
+- case 3: return vec3(204,108, 0);
+- case 4: return vec3(153, 87, 0);
+- case 5: return vec3(106, 52, 3);
+- case 6: return vec3( 66, 30, 15);
+- case 7: return vec3( 25, 7, 26);
+- case 8: return vec3( 9, 1, 47);
+- case 9: return vec3( 4, 4, 73);
+- case 10: return vec3( 0, 7,100);
+- case 11: return vec3( 12, 44,138);
+- case 12: return vec3( 24, 82,177);
+- case 13: return vec3( 57,125,209);
+- case 14: return vec3(134,181,229);
+- case 15: return vec3(211,236,248);
+- }
+- #else
+- return vec3(255.0);
+ #endif
+ }
+ int shade_index(int iter) {
</ins></span></pre>
</div>
</div>
</body>
</html>