From: <sm...@us...> - 2008-03-28 21:10:08
|
Revision: 8344 http://plplot.svn.sourceforge.net/plplot/?rev=8344&view=rev Author: smekal Date: 2008-03-28 14:09:51 -0700 (Fri, 28 Mar 2008) Log Message: ----------- Examples already ported to D. Modified Paths: -------------- trunk/examples/CMakeLists.txt Added Paths: ----------- trunk/examples/d/ trunk/examples/d/CMakeLists.txt trunk/examples/d/x05d.d trunk/examples/d/x07d.d trunk/examples/d/x10d.d Modified: trunk/examples/CMakeLists.txt =================================================================== --- trunk/examples/CMakeLists.txt 2008-03-28 21:05:42 UTC (rev 8343) +++ trunk/examples/CMakeLists.txt 2008-03-28 21:09:51 UTC (rev 8344) @@ -77,6 +77,9 @@ if(ENABLE_ada) add_subdirectory(ada) endif(ENABLE_ada) +if(ENABLE_d) + add_subdirectory(d) +endif(ENABLE_d) install(FILES Makefile.examples DESTINATION ${DATA_DIR}/examples Added: trunk/examples/d/CMakeLists.txt =================================================================== --- trunk/examples/d/CMakeLists.txt (rev 0) +++ trunk/examples/d/CMakeLists.txt 2008-03-28 21:09:51 UTC (rev 8344) @@ -0,0 +1,44 @@ +# examples/d/CMakeLists.txt +### Process this file with cmake to produce Makefile +### +# Copyright (C) 2008 Werner Smekal +# +# This file is part of PLplot. +# +# PLplot is free software; you can redistribute it and/or modify +# it under the terms of the GNU Library General Public License as published +# by the Free Software Foundation; version 2 of the License. +# +# PLplot is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public License +# along with PLplot; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +set(d_STRING_INDICES +"05" +"07" +"10" +) + +foreach(STRING_INDEX ${d_STRING_INDICES}) + set(d_SRCS ${d_SRCS} x${STRING_INDEX}d.d) +endforeach(STRING_INDEX ${d_STRING_INDICES}) + +install(FILES ${d_SRCS} +DESTINATION ${DATA_DIR}/examples/d +) + +#set(DD ${CMAKE_D_COMPILER}) +#configure_file( +#${CMAKE_CURRENT_SOURCE_DIR}/Makefile.examples.in +#${CMAKE_CURRENT_BINARY_DIR}/Makefile.examples +#) + +#install(FILES ${CMAKE_CURRENT_BINARY_DIR}/Makefile.examples +#DESTINATION ${DATA_DIR}/examples/d +#RENAME Makefile +#) Added: trunk/examples/d/x05d.d =================================================================== --- trunk/examples/d/x05d.d (rev 0) +++ trunk/examples/d/x05d.d 2008-03-28 21:09:51 UTC (rev 8344) @@ -0,0 +1,48 @@ +/* $Id: + + Histogram demo. +*/ + +import plplot; +import std.math; + +/*--------------------------------------------------------------------------*\ + * main + * + * Draws a histogram from sample data. +\*--------------------------------------------------------------------------*/ +int main( char[][] args ) +{ + const int NPTS=2047; + + int i; + PLFLT data[NPTS]; + PLFLT delta; + + /* Parse and process command line arguments */ + char*[] c_args = new char*[args.length]; + foreach( int i, char[] arg; args ) { + c_args[i] = toStringz(arg); + } + int argc = c_args.length; + plparseopts( &argc, argv, PL_PARSE_FULL ); + + /* Initialize plplot */ + plinit(); + + /* Fill up data points */ + + delta = 2.0 * PI / cast(double)NPTS; + for( i=0; i<NPTS; i++ ) + data[i] = sin(i*delta); + + plcol0( 1 ); + plhist( NPTS, &data[0], -1.1, 1.1, 44, 0 ); + plcol0( 2 ); + pllab( "#frValue", "#frFrequency", + "#frPLplot Example 5 - Probability function of Oscillator" ); + + plend(); + + return 0; +} Added: trunk/examples/d/x07d.d =================================================================== --- trunk/examples/d/x07d.d (rev 0) +++ trunk/examples/d/x07d.d 2008-03-28 21:09:51 UTC (rev 8344) @@ -0,0 +1,73 @@ +/* + + Font demo. +*/ + +import plplot; +import std.string; + +int[17] base = [ 0, 200, 500, 600, 700, 800, 900, + 2000, 2100, 2200, 2300, 2400, 2500, 2600, + 2700, 2800, 2900]; + +/*--------------------------------------------------------------------------*\ + * main + * + * Displays the entire "plsym" symbol (font) set. +\*--------------------------------------------------------------------------*/ +int main( char[][] args ) +{ + char[] text; + PLFLT x, y; + + /* Parse and process command line arguments */ + char*[] c_args = new char*[args.length]; + foreach( int i, char[] arg; args ) { + c_args[i] = toStringz(arg); + } + int argc = c_args.length; + plparseopts( &argc, cast(char**)c_args, PL_PARSE_FULL ); + + /* Initialize plplot */ + plinit(); + + plfontld( 1 ); + for( int l=0; l<17; l++) { + pladv( 0 ); + + /* Set up viewport and window */ + + plcol0( 2 ); + plvpor( 0.15, 0.95, 0.1, 0.9 ); + plwind( 0.0, 1.0, 0.0, 1.0 ); + + /* Draw the grid using plbox */ + plbox( "bcg", 0.1, 0, "bcg", 0.1, 0 ); + + /* Write the digits below the frame */ + plcol0( 15 ); + for( int i=0; i<=9; i++ ) { + text=format( "%d", i); + plmtex( "b", 1.5, (0.1*i+0.05), 0.5, std.string.toStringz(text) ); + } + + int k = 0; + for( int i=0; i<=9; i++ ) { + /* Write the digits to the left of the frame */ + text=format( "%d", base[l] + 10 * i ); + plmtex( "lv", 1.0, (0.95-0.1*i), 1.0, std.string.toStringz(text) ); + for( int j=0; j<=9; j++ ) { + x = 0.1*j+0.05; + y = 0.95-0.1*i; + + /* Display the symbols */ + plsym( 1, &x, &y, base[l]+k ); + k = k+1; + } + } + + plmtex( "t", 1.5, 0.5, 0.5, "PLplot Example 7 - PLSYM symbols" ); + } + plend(); + return 0; +} Added: trunk/examples/d/x10d.d =================================================================== --- trunk/examples/d/x10d.d (rev 0) +++ trunk/examples/d/x10d.d 2008-03-28 21:09:51 UTC (rev 8344) @@ -0,0 +1,38 @@ +/* + + Window positioning demo. +*/ + +import plplot; + +/*--------------------------------------------------------------------------*\ + * main + * + * Demonstrates absolute positioning of graphs on a page. +\*--------------------------------------------------------------------------*/ +int main( char[][] args ) +{ + /* Parse and process command line arguments */ + char*[] c_args = new char*[args.length]; + foreach( int i, char[] arg; args ) { + c_args[i] = toStringz(arg); + } + int argc = c_args.length; + plparseopts(&argc, argv, PL_PARSE_FULL); + + /* Initialize plplot */ + plinit(); + + pladv( 0 ); + plvpor( 0.0, 1.0, 0.0, 1.0 ); + plwind( 0.0, 1.0, 0.0, 1.0 ); + plbox( "bc", 0.0, 0, "bc", 0.0, 0 ); + + plsvpa( 50.0, 150.0, 50.0, 100.0 ); + plwind( 0.0, 1.0, 0.0, 1.0 ); + plbox( "bc", 0.0, 0, "bc", 0.0, 0 ); + plptex( 0.5, 0.5, 1.0, 0.0, 0.5, "BOX at (50,150,50,100)" ); + + plend(); + return 0; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |