How to create 3D Rectangle

Pls help me in doing 3D Rectangle using Java

Wouldn't that be a Box?
http://download.java.net/media/java3d/javadoc/1.4.0/

Similar Messages

  • How to create a rectangle per entering dimensions rather than by drawing it

    how to create a rectangle per entering dimensions rather than by drawing it

    ReNewUs,
    Just click with the Rectangle Tool somewhere on the Artboard, then insert Width and height.

  • How to create a tv-shaped frame in Photoshop?

    I'm trying to create a frame for a photo that has the shape of an old-style TV screen: square, with rounded corners, all four sides bulging out slightly. I've figured out how to create a rectangle with rounded corners, but I can't figure out the bulges. (My PS vector and pen skills are very poor.) A rough sample is below. Is there a way to do this in Photoshop? Or, is there a template available?
    Thanks for any help.
    EdB

    I would say use the pen tool to add a point at the center of each side. Select all 4 points then scale outward. If necessary you can use the convert point tool to drag out on each point to smooth the bend. Using the convert point tool, will move both sides of the point to once, other wise, you would be using  the direct selection tool which can drag only one handle at a time, which may make the point not symmetrical as far as the handles are concerned. Having both handles out at the same distance, may make a better smoothing for that point.
    But you may also be satisfied with how it looks with out dealing with the handles at all. It is all subject to the eye of the beholder.

  • Need Help, how to create more than one rectangle from one button in one stage of canvas

    Dear Guys,
    I has problem to create more than one rectangle canvas from one button. here my role to create :
    1. I create input size with textfield
    2. I click button called "submit query"
    3. My web will create a rectangle with specific size.
    My problem come when I click again the button, my old rectangle has been remove than my new rectangle has created.
    My question is : how I can create more than one without delete/remove the old I was created?
    Here my Code :
    <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><link rel="stylesheet" type="text/css" media="all" href="css/style.css"><script src="kinetic-v4.7.2.min.js"></script></head> <body><label>Length</label><input name="panjang" id="panjang" type="text" size="5" maxlength="5"><br> <label>Width</label><input name="lebar" id="lebar" type="text" size="5" maxlength="5"><br>  <label>Height</label><input name="tinggi" id="tinggi" type="text" size="5" maxlength="5"><br> <label>Packing Name</label><input name="nam_pac" id="nam_pac" type="text" size="5" maxlength="5"><br> <input name="submit" type="submit"> <script defer>              var stage = new Kinetic.Stage({                container: 'container',                width: 943.5,                height: 254.10              });              var layer = new Kinetic.Layer();              var rectX = stage.getWidth() / 2 - 50;              var rectY = stage.getHeight() / 2 - 50;                            var group = new Kinetic.Group({                draggable: true              });                                         var box = new Kinetic.Rect({                x: rectX,                y: rectY,                width: <?php echo ($_POST['panjang']/10)/1.3; ?>,                height: <?php echo $_POST['lebar']/10; ?>,                //fill: '#00D2FF',                stroke: 'blue',                strokeWidth: 2                //draggable: true              });               var simpleText = new Kinetic.Text({                x: Math.round(box.getWidth() / 2),                y: Math.round(box.getHeight() / 2),                text: '<?php echo $_POST['tinggi'].'/'.$_POST['nam_pac']; ?>',                fontSize: 30,                fontFamily: 'Calibri',                fill: 'blue',              });                                          // add cursor styling              box.on('mouseover', function() {                document.body.style.cursor = 'pointer';              });              box.on('mouseout', function() {                document.body.style.cursor = 'default';              });                            group.add(box);              group.add(simpleText);              layer.add(group);              stage.add(layer);            </script></body> 
    this is my printscreen may help you to help me :
    thanks before to help me
    Regards,
    Prabowo.

    It's work Ken, but if I modify your code into my code.
    error again. they say like before (...is undefined)
    May You want to check my code
    <?php
    include('pinambung.php');
    ?>
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title>GI Loading Plan Maker</title>
    <meta name="viewport" content="width=device-width" />
    <link rel="stylesheet" type="text/css" media="all" href="css/style_2.css">
    <script src="js/kinetic-v4.7.2.min.js"></script>
    <script src="js/CalendarPopup.js"></script>
    <script src="js/jquery-1.10.2.js"></script>
    </head>
    <body>
      <header class="w" id="header"> <!--Header Area -->
          <img src="images/headers.jpg" width="100%" height="100%" />
      </header><!--End of Header Area -->
      <nav class="w" id="nav"><!--nav Area -->
          <?php include('top.php'); ?>
      </nav><!--End of nav Area -->
      <section class="w" id="main"><!--section Area -->
          <section id="content">
          <article>
            <h2>Customer Info</h2>
            <form id="myForm" action="insert.php" method="post">
            <label>Customer Name :</label><input name="cs_name" id="cs_name" type="text" size="25" maxlength="50">
            <br>
            <label>Date of Shipment :</label><input name="shipment_date" id="shipment_date" type="text" size="10" maxlength="12" > use format : YYYY-MM-DD
            <br />
            <label>Container Name :</label><input name="con_num" id="con_num" type="text" size="10" maxlength="12">
            <label>Revision :</label><input name="revision" id="revision" type="text" size="5" maxlength="5"><br />
            <label>Prepared by :</label><input name="prepared_by" id="prepared_by" type="text" size="25" maxlength="50">
            <button id="saveinfo">Save As DB</button>
            <button id="saveall">Save As Image</button>
            <button id="print" onclick="window.print();return false">Print</button>
            </form>
            <span id="result"></span>
            <script type="text/javascript" src="js/insert.js"></script>
          </article>
              <br /><br />
          <article>
              <h2>Packing Info</h2>
            <label>Container Type :</label>
            40' HC<input name="con_type" type="radio" id="con_type" value="40hc">
            40'<input name="con_type" type="radio" id="con_type" value="40">
            20<input name="con_type" type="radio" id="con_type" value="20"><br />
            <input name="loadstan" type="button" value="Create Container" id="isSelect">
            <button id="removecon">Remove Container</button>
            <br />
            <label>Length</label><input name="panjang" id="panjang" type="text" size="5" maxlength="5">
            <label>Width</label><input name="lebar" id="lebar" type="text" size="5" maxlength="5">
            <label>Height</label><input name="tinggi" id="tinggi" type="text" size="5" maxlength="5">
            <label>Packing Name</label><input name="nam_pac" id="nam_pac" type="text" size="20" maxlength="55">
            <input name="loadstan" id="loadstan" type="button" value="Load Standard Packing" onclick="window.open('spk.php', 'winpopup', 'toolbar=no,statusbar=no,menubar=no,resizable=yes,scrollbars=yes,width=300,height=400');">
            <input name="submit" type="submit" value="Create Box">
            <button id="remove">Remove Box</button><br />
          </article>
        </section>
        <aside id="sidebar">
          <label for="layer-to-delate">Select a layer to delete or rotate</label><br />
          <select id="layer-to-delete" size="14"></select><br />
          <input id="delete-layer-button" type="button" value="Delete layer">
          <input id="rotate-layer-button" type="button" value="Rotate box">
        </aside>
        <section id="content2">
          <div id="container">
          </div>
          <script defer>
          function radians (degrees) {return degrees * (Math.PI/180)}
          function degrees (radians) {return radians * (180/Math.PI)}
          function angle (cx, cy, px, py) {var x = cx - px; var y = cy - py; return Math.atan2 (-y, -x)}
          function distance (p1x, p1y, p2x, p2y) {return Math.sqrt (Math.pow ((p2x - p1x), 2) + Math.pow ((p2y - p1y), 2))}
            var stage = new Kinetic.Stage({
                container: 'container',
                width: 943.5,
                height: 254.10
            var layers = new Array();
           function addCont(){
               layer2 = new Kinetic.Layer();
                switch ($('input:radio[name=con_type]:checked').val()){
                  case '40hc':
                     var box_con = new Kinetic.Rect({
                          x: 10,
                          y: 10,
                          width: 1190/1.3,
                          height: 2300/10,
                          stroke: 'black',
                          strokeWidth: 2
                      var TextCon = new Kinetic.Text({
                          x: 10,
                          y: 240,
                          text: 'Container Size 40 HC (11900mm X 2300mm X 2550mm)',
                          fontSize: 12,
                          fontFamily: 'Calibri',
                          fill: 'green',
                      layer2.add(box_con);
                      layer2.add(TextCon);
                      stage.add(layer2);
                      break;
                     case '40':
                     var box_con = new Kinetic.Rect({
                          x: 10,
                          y: 10,
                          width: 1190/1.3,
                          height: 2300/10,
                          stroke: 'black',
                          strokeWidth: 2
                      var TextCon = new Kinetic.Text({
                          x: 10,
                          y: 240,
                          text: 'Container Size 40 (11900mm X 2300mm X 2250mm)',
                          fontSize: 12,
                          fontFamily: 'Calibri',
                          fill: 'green',
                      layer2.add(box_con);
                      layer2.add(TextCon);
                      stage.add(layer2);
                      break;
                     case '20':
                     var box_con = new Kinetic.Rect({
                          x: 10,
                          y: 10,
                          width: 580/1.3,
                          height: 2300/10,
                          stroke: 'black',
                          strokeWidth: 2
                      var TextCon = new Kinetic.Text({
                          x: 10,
                          y: 240,
                          text: 'Container Size 20 (5800mm X 2300mm X 2250 mm)',
                          fontSize: 12,
                          fontFamily: 'Calibri',
                          fill: 'green',
                      layer2.add(box_con);
                      layer2.add(TextCon);
                      stage.add(layer2);
                      break;
            function addRect() {
                layer = new Kinetic.Layer();
                var box = new Kinetic.Rect({
                    x: 10,
                    y: 10,
                    width: +(($("#panjang").val()/10)/1.3),
                    height: +($("#lebar").val()/10),
                    stroke: 'blue',
                    strokeWidth: 2
                var group = new Kinetic.Group({
                            draggable: true,
                            snap : true
                var boxLabel = $("#nam_pac").val() + "/H : " + $("#tinggi").val();            
                if (($("#panjang").val() && $("#lebar").val()) != 0) {         
                var simpleText = new Kinetic.Text({
                    x: 10,
                    y: 10,
                    text: boxLabel,
                    fontSize: 12,
                    fontFamily: 'Calibri',
                    fill: 'red',
                } else {
                    var simpleText = new Kinetic.Text({
                    x: 10,
                    y: 10,
                    text: '',
                    fontSize: 12,
                    fontFamily: 'Calibri',
                    fill: 'red',
                group.add(box);
                group.add(simpleText);
                layer.add(group);
                stage.add(layer);
                layers.push(layer);
                $("#layer-to-delete").append("<option>Layer " + boxLabel + "</option>");
            function deleteRect() {
                if($("#layer-to-delete > option").length < 1) return;
                var i = $("#layer-to-delete").prop("selectedIndex");
                layers.splice(i,1)[0].destroy();
                $("#layer-to-delete > option").eq(i).remove();
            function rotateRect() {
                if($("#layer-to-delete > option").length < 1) return;
                var i = $("#layer-to-delete").prop("selectedIndex");
                layers[i].rotateDeg(30);
                layers[i].draw();
            $("#delete-layer-button").click(function(e) {
                  deleteRect();
            $("#rotate-layer-button").click(function(e) {
                rotateRect();
            $("input[type=submit]").click(function(e) {
                addRect();
            $("#isSelect").click(function () {
                  addCont();
            $("#removecon").click(function () {
                  layer2.destroy();
            $(window).keypress(function(e) {
                if(!$(document.activeElement).is("label")) {
                    if((e.keyCode || e.which) == 46) {
                        layer.destroy();
                if((e.keyCode || e.which) == 35) {
                        layer2.destroy();
            document.getElementById('saveall').addEventListener('click', function() {
              stage.toDataURL({
                callback: function(dataUrl) {
                      window.open(dataUrl);
            }, false);
          </script>
        </section>
      </section><!--End of section Area -->
      <footer class="w" id="footer"><!--footer Area -->
        Copyright <a href="login.php" target="_new">©</a> 2013, <a href="http://omhanggar.com" target="_new">created</a><a href="http://intranet.guentner-asia.com" target="_new"> by PT. Güntner Indonesia </a>
      </footer><!--End of footer Area -->
    </body>
    </html>
    thanks again before,
    Prabowo

  • How can i creat several rectangles with one draw rect.vi

    how can i creat several rectangles with one draw rect.vi? thanks
    Solved!
    Go to Solution.

    You can call it in a for loop, with an array of the rectangle coordinates you want to draw. Is this what you mean?
    CLA, LabVIEW Versions 2010-2013
    Attachments:
    rectangle.png ‏11 KB

  • How to create a evenly spaced grid of rectangles

    Ok Im having difficulty in creating 5x5 rectangles with rounded corners, which themselves have a specific height and width and the spacing (rows and columns) inbetween are evely spaced.
    How would i acheive this???

    Thanks for the replies.
    I had actually tried Steve Fairbank's method before posting this thread, however it would you would have to set the area and thw shape width seperately f.e. if i were to set the height and width and the spacing, the overall area wouldnt expand to compensate but rather stay the same, if i then increase the area it would mess up either the spacing or the width and height. Very Frustrating. a
    Anyway I have achieved what i wanted using Larry G. Schneider's method.
    I have one more question now at this point:
    Do you know how to manipulate the spacing between the shapes so that there is even spacing in the rows and columns between the shapes?? Doing this whilst using your method i found was hit and miss and i only got it roughly right.
    Thanks

  • How to create a rounded rectangle?

    I can't figure out how to create a rounded rectangle in Flash
    8... Any one
    want to help me with this?
    Best Regards,
    Chris Jumonville
    iMedia Web Design
    503.277.3553

    You can ignore this. I figured it out.
    Best Regards,
    Chris Jumonville
    iMedia Web Design
    503.277.3553
    "Chris Jumonville" <[email protected]> wrote in
    message
    news:ej6l1r$ano$[email protected]..
    >I can't figure out how to create a rounded rectangle in
    Flash 8... Any one
    >want to help me with this?
    >
    > --
    > Best Regards,
    >
    > Chris Jumonville
    > iMedia Web Design
    > 503.277.3553
    >

  • How to create a Gradientcolor from two existing swatches

    Hello all,
    I have 2 colors in the swatches palette.has anyone how to create a new gradient color from this to swatches.
    So far I can get my to colors from the palette and extract their color:
    aSwatch1 = sAISwatchList->GetSwatchByName( colList, colorName1 );
    aSwatch2 = sAISwatchList->GetSwatchByName( colList, colorName1 );
    iErr = sAISwatchList->GetAIColor( aSwatch1, &colorP1);
    iErr = sAISwatchList->GetAIColor( aSwatch2, &colorP2);
    // now somehow create a new gradient:
    iErr = sAIGradient->NewGradient( &gradientHnd );
    but what do now. to get the new color from colorP1 and colorP2. I need a simple linear gradient.
    Any hints?
    regards
    Michael

    Hello,
    > Please, excuse any ignorance below. I'm not well versed in the actual artistic side of Illustrator, just the implementation
    excused because you're the one of the few people here who give thoe most usefull answers
    > Isn't that to be expected though? From my admittedly limited understanding, the gradient being saved is really just a sequence of colour stops. I would have thought since the angle of the gradient is more of a property of how its applied to the path (or whatever) that it wouldn't make sense to save it on the gradient colour.
    No, not from my view (and needs ).
    The color for the gradient has a type of AIGradientStyleMap. this struct contains the angle für the linear gradient etc. This color is added to the swatchpalette so it shoud keep the value.
    If you replace the CreateGradientSwatch function in SnpGradien.cpp of the SnippetRunner with the following code a 2nd swatch with an different angle is added to the swatchpalette when creating a new linear gradient is created (name seems not what it should but 2 swatches are created. Applying this 2 swatches to a rectangle also the angle is changed as it should be.
    So from my point of view Illustrator doesn't take the angle when a new color/swatch is created in the swatch panel. Why the angle is saved by creating a style is another question and difficult to answer without looking inside the source of Illustrator
    ASErr SnpGradient::CreateGradientSwatch(const AIGradientHandle gradient, AISwatchRef& swatch)
    ASErr result = kNoErr;
    try {
    // Insert new swatch at end of general swatch group.
    swatch = sAISwatchList->InsertNthSwatch(NULL, -1);
    // Get gradient name.
    ai::UnicodeString gradientName;
    result = sAIGradient->GetGradientName(gradient, gradientName);
    aisdk::check_ai_error(result);
    // Set swatch name.
    result = sAISwatchList->SetSwatchName(swatch, gradientName);
    aisdk::check_ai_error(result);
    // Create the swatch color using the gradient.
    AIColor swatchColor;
    swatchColor.kind = kGradient;
    swatchColor.c.b.gradient = gradient;
    swatchColor.c.b.gradientAngle = 30;
    swatchColor.c.b.gradientLength = 1;
    AIRealPoint origin = {0,0};
    swatchColor.c.b.gradientOrigin = origin;
    swatchColor.c.b.hiliteAngle = 0;
    swatchColor.c.b.hiliteLength = 0;
    SnippetRunnerLog::Instance()->WritePrintf("gradientAngle: %.1f",swatchColor.c.b.gradientAngle);
    SnippetRunnerLog::Instance()->WritePrintf("gradientLength: %.1f",swatchColor.c.b.gradientLength);
    SnippetRunnerLog::Instance()->WritePrintf("gradientOrigin (v / h): %.1f /  %.1f", swatchColor.c.b.gradientOrigin.v, swatchColor.c.b.gradientOrigin.h);
    SnippetRunnerLog::Instance()->WritePrintf("gradientAngle: %.1f",swatchColor.c.b.gradientAngle);
    SnippetRunnerLog::Instance()->WritePrintf("hiliteLength: %.1f",swatchColor.c.b.hiliteLength);
    // Set the swatch color.
    result = sAISwatchList->SetAIColor(swatch, &swatchColor);
    aisdk::check_ai_error(result);
    // making a 2nd swatch
    AISwatchRef swatch2;
    swatch2 = sAISwatchList->InsertNthSwatch(NULL, -1);
    result = sAISwatchList->SetSwatchName(swatch2, (ai::UnicodeString("Grad2")));
      // Create the swatch color using the gradient.
      AIColor swatchColor2;
      swatchColor2.kind = kGradient;
      swatchColor2.c.b.gradient = gradient;
      swatchColor2.c.b.gradientAngle = 60;
      swatchColor2.c.b.gradientLength = 1;
      swatchColor2.c.b.gradientOrigin = origin;
      swatchColor2.c.b.hiliteAngle = 0;
      swatchColor2.c.b.hiliteLength = 0;
    result = sAISwatchList->SetAIColor(swatch2, &swatchColor2);
    catch (ai::Error& ex) {
    result = ex;
    return result;
    The CS3/CS4 question is easy: for CS3 i use the CS3 SDK and for CS4 I#m working with the CS4 SDK :-)

  • How to create a shape based on the shape of an image

    I want to erase a portion of a mask based on the shape of an image. how can i do this? btw how to create a circle? thx

    Both your questions leave room for imagining what you might really mean, but here's a shot at answering them.
    If you have a mask that you want to erase portions of based on an image... assuming the mask is a simple rectangle you drew with the rectangle tool, change the opacity of the rectangle's fill in the color panel to make it see-thru, place the mask over the image, and using the eraser tool, erase the portions of the mask that you do not intend to retain using the image below it as a guide.
    As for drawing a circle, hover over the rectangle tool and a menu should appear.  Select the oval/ellipse tool.  To draw a circle, hold down the shift key and draw just as you did for the rectangle.  The shift key forces it to retain equal width and height.

  • How to create subpicture for a button?

    Hello!
    I have really tried to find the answer to this rather silly problem on my own, but without result. Please help someone!
    The situation:
    I have a menu with three choices: "Play Movie", "Scene Selection" and "Subtitles". Now, the text presenting these choices are part of the background image, created in Premiere (the program I know best). They are written with an old typewriter to get that gritty feeling.
    I want the user to scroll between these "menu items". The currently selected item should be indicated by a black circle/spot/dot before the text of the item. By default, when the menu appears, there is a black circle in front of (to the immediate left of) the item "Play Movie". The user should now be able to step with his/her remote to the other items, thereby making the black circle in front of "Play Movie" disappear and appearing instead before some of the other items. In short: the black circle is always showing before the currently selected item. OK, I got a bit verbose there, but the idea got across hopefully. One more thing: the background color is 100% white.
    Up to this point, my solution was this: I placed black circles (small images with gradation and all, very nice looking) in front of ALL THREE ITEMS. Then I convert these into buttons. Then I choose the color set for the menu so that the unselected state is 100% white, plain and simple, with 100% opacity, thereby covering the black circles that should not show. Only in the selected and activated states does opacity for the button subpicture drop to 0%, thereby revealing the black circle that should be seen.
    The problem? Well, on some DVD-players (not on the XBOX 360 though), when an item is activated, all three circles show for a brief moment before the selected action starts (for example playing the movie). It also happens in Encore Preview. This is not logical at all and looks amateurish. I don't know why it happens, but my guess is that it wouldn't if I did this the "correct" way: by creating subpictures fo the buttons in the shape of circles. I understand the nice looking gradations must go out the window but that is a price I'm willing to pay.
    But now I run into an unexpected problem: I don't understand how to create a subpicture for the button that is a black circle. It seems the documentation in Encore and on forums in general takes for granted that you know how to do this.
    What I tried ws this: I created a monochrome, small image in bmp format - a black circle on white background. But this image just shows up as a black rectangle in Encore.
    What should I do? I should add that I have no real experience with Photoshop, so go slow if you go there.
    Regards,
    Nikolaj

    Basically, when one realizes the limitations of the Sub-picture Highlights, as set by the DVD-specs., it's easy to see the "workaround."
    A couple of the aspects of Sub-picture Highlights are:
    1.) 2-bit color (either ON, or OFF), from a limited color palette, with degrees of Transparency (the opposite of PS's Opacity).
    2.) they will appear on top of anything else on the Menu, including things like Button text/graphics.
    By constructing your Sub-picture Highlight in PS, you can use Masking to define where it will be, and where it will not be. In the case that prompted my article, the poster had a series of Text Buttons, and the Sub-picture Highlights were formed from that Text. The poster did not like the look of those 2-bit jagged blocks of color overlying the Text in the Button. The workaround is to "punch a hole" in the Sub-picture Highlight, so that it is hollow, where the Button's Text appears. This is done in PS, by using the "outline" of that Text to create a Mask for the Sub-picture Highlight. The jagged aspect can be adjusted a bit, by using a degree of Transparency (set in the non-Auto Color Set back in Encore). We still have a 2-bit color Sub-picture Highlight, and it still overlays the Button's Text, but now there is a hole in it, right where the Button's Text is located, and it is seen through that hole. The introduction of Transparency has the visual effect of "softening" the look of the 2-bit color, even though the jagged edges are still there - they just look softer. I went on to show how one could even use a second Sub-picture Highlight, that is just a bit larger than the first, and with more Transparency to simulate a "glow." Now, we cannot have a real "glow," because we are limited to that 2-bit color for the Sub-picture Highlight, but we can simulate it.
    Much of what a designer does is really slight of hand - illusion. They all have to work within the limitations of the DVD (or BD) specs., but with a bit of creativity, planning and some work in PS and Encore, they can create enough smoke and use enough mirrors to fool the user into believing that what they think they see skirt the DVD-specs. They do not, but that's where the illusion comes in.
    We get a lot of questions from people, who claim that one commercial DVD, or another, has full-color Sub-picture Highlights and they complain that Encore cannot do that - only 2-bit Sub-picture Highlights. What they are seeing, but do not realize it, is a dupe Menu, with a full-color graphic, and no real Sub-picture Highlight visible. Jeff gives full details on doing this. Same for those who have seen a Button with a duo-tone thumbnail, that turns full-color, when the Button is navigated to. Wow, how did they do that, and why can't Adobe Encore do that? Well, what they saw was a dupe Menu, with a full-color thumbnail and no visible real Sub-picture Highlight.
    Jeff shows how to create what appears to be at least a 3-color Sub-picture Highlight. It's really just 3 regular 2-bit color Sub-picture Highlights, with Masking to create the illusion that he beat the DVD-specs. Neat! [Being from the USA, I also liked that he used the US flag, but he could have chosen the French "Tri-color," or any other flag, without artwork.]
    These are all just tricks, but if the user buys into the illusion, who's to know?
    Enjoy,
    Hunt
    PS - though many of the great, older posts were lost, when the forum changeover happened, I strongly suggest reading the posts here. You can bypass ones that do not offer you anything, but almost every possible illusion has been discussed at least one time, and likely many, with some different workflows offered by those, who replied. Great reading.

  • [CS3 JS] How to Create a Timer?

    Within InDesign I need to be able to fire a periodic process to examine links from a JavaScript script. I have my own script running in its own engine.
    I can't figure out how to create a timer that will run in the background and call the appropriate callback function periodically.
    I've created a little process like this:
    * Sleeps for waitTime milliseconds then calls the callBack function.
    function timer(callBack, waitTime) {
    $.writeln("timer(): callBack=" + callBack + ", waitTime=" + waitTime);
    if (waitTime == undefined) waitTime = 2000;
    $.writeln("timer(): sleeping for " + waitTime + "...");
    $.sleep(waitTime);
    $.writeln("timer(): awake, calling callBack");
    try {
    return callBack();
    } catch (e) {
    $.writeln("timer(): Exception from callBack.exec(): " + e);
    return undefined;
    function myCallBack() {
    return Window.confirm("Callback called", true, "Continue looping");
    while (true) {
    if (!timer(myCallBack)) break;
    And this works in the sense that my timer runs, but it runs as a blocking process, which is not what I want.
    Is there something I'm missing or is this simply not possible in CS3 JavaScript? A search on "timer" in the InDesign forums didn't reveal anything, nor did the InDesign JavaScript Guide nor the Scripting Tools Guide.
    Thanks,
    Eliot

    1. Download and install Active Page Item Developer Toolkit.
    http://www.rorohiko.com/wordpress/indesign-downloads/active-page-item-developer/
    You'll have a demo period for 20 days or a month, I don't remember exactly.
    2. Create a new document, open 'Active Page Item Developer' panel (Windows menu).
    3. Copy the script from my previous post, draw an object - e.g. a rectangle and with the object selected enter 'idle' into Event Filter field, then press Tab and paste the script into the largest field.
    You'll see an alert appearing every 10 seconds and the cursor flickering.

  • How To Create A Website Background Video In Adobe Edge ?

    Hello,
    I have video file in my computer SSD drive and i want it to play as background on my web page (page that i am creating).I did try to follow this video:
    How To Create A Website Background Video In Adobe Edge Animate Using Edgehero - YouTube
    but i cant follow 100% what he is doing.
    Guide that i did try to follow is at this link: How To Create A Website Background Video In Adobe Edge Animate Using Edgehero - YouTube
    Steps i do in Adobe Edge Animate CC
    1.) Create New
    2.) i click + sign under section Library >> Scripts >> Add JS File from URL...
    URL that i am adding is: http://www.edgehero.com/edgehero.js/1.2/edgehero_1.2_min.js  (URL is taken from site: Edgehero.js )
    I add this link: http://www.edgehero.com/edgehero.js/1.2/edgehero_1.2_min.js to box that occures after i click on Add JS File from URL
    3.) I go to Edgehero.js and from there i scrol down to section named as Media - Html5 video / Html5 audio
    and i select from there this:
    there is a code:
      // this will set the video as background of the div/rectangle
    backgroundvideo_1 ='movie.mp4';
      // put new edgehero.js variables here
    4.) I go to Adobe Edge Animate CC 2014 and right click on project and select Open Actions for "Stage"
    and then i click on + sign and select creationComplete
    This will open Stage window
    there i will copy this code:
      // this will set the video as background of the div/rectangle
    backgroundvideo_1 ='movie.mp4';
      // put new edgehero.js variables here
    5.) Then i click on ++ sign under library >> Video
    and i add video from my computer SSD drive.
    Video is named as video3.mp4
    Now i eddit the code in Stage window (See above)
    code will look after editing like this:
    Then i change under left side px to %
    6.) Then i copy backgroundvideo_1 from Stage Code:
    Then i select Rectangle Tool and mark the area  (white box) and i click on small C icon
    And the box that occures i type there backgroundvideo_1_mp4 autoplay
    now when i use ctrl and enter i only get gray box that does not play video.
    What am i doing wrong?

    Here is the html file.
    Note video file that i try to add is random training video from youtube, And file format is saved using this site:
    How do I download and save a YouTube video to my computer?
    this is only for testing as i am not gonna put that video on background to my web page. I am only trying to understand how to add video as background.
    http://www.filedropper.com/test3_5
    http://www.filedropper.com/test3_6
    http://www.filedropper.com/test3edge
    http://www.filedropper.com/test3edgeactions
    http://www.filedropper.com/test3edgepreload
    Goal is to create background video like u can see here:
    Adobe Muse Tutorial - Responsive Design Hack! by MuseThemes.com - YouTube
    Similar possibility is available also in Edge as i understand?

  • How to create collapsible panel in flex3

    I
    How to create Collapsible panel in flex.
    If you observer above image. There are three panels.For ffirst and last panel i have provided one button where it contains open/close button.When user selects close button left panel should collapse to left hand side and the same should come to its original postion. In case of right panel is the same process except it should collapse to right side.
    Below is my code:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init()" >
    <mx:Script>
      <![CDATA[
      import flash.net.FileReference;
      import mx.controls.Menu;
      import flash.display.Stage; 
      import mx.events.MenuEvent;
      import mx.controls.Alert;
      import mx.events.ListEvent;
      import mx.managers.DragManager;
            import mx.core.DragSource;
            import mx.events.DragEvent;
      import DrawingClasses.Designer;
      [Bindable]
      [Embed(source="/images2/line.png")]
      public var linePicture:Class;
      [Bindable]
      [Embed(source="/images2/box.png")]
      public var boxPicture:Class;
      [Bindable]
      public var xm:XML =
      <AbstractComponentTemplate></AbstractComponentTemplate>;
      public var compType:XML =
       <ComponentTemplateDescriptor>
        <Owner>BackTesting</Owner>
        <Name>Component</Name>
        <Version>1</Version>
       </ComponentTemplateDescriptor>;
      [Bindable]
            private var cm:ContextMenu; 
      public var xm1:XML;
      public var loopparent:Array = new Array();
      private var mouseTarget:DisplayObject;
      private var xOff:Number;
      private var yOff:Number;
      private var designer:Designer = new Designer();  
      private var i:int;
      private var j:int;
      private function init():void
       designer.setDesignArea(designArea);
       var cmi1:ContextMenuItem = new ContextMenuItem("Properties", true);
                cmi1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contextMenuItem_propertiesSelect);
       var cmi2:ContextMenuItem = new ContextMenuItem("View XML", true);
       cmi2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contextMenuItem_viewXMLSelect);
       var cmi3:ContextMenuItem = new ContextMenuItem("Saved Components", true);
       cmi3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, contextMenuItem_savedListSelect);  
       cm = new ContextMenu();
       cm.hideBuiltInItems();
       cm.customItems = [cmi1, cmi2, cmi3];
       cm.addEventListener(ContextMenuEvent.MENU_SELECT, contextMenu_menuSelect);
      private function contextMenu_menuSelect(evt:ContextMenuEvent):void {
      private function contextMenuItem_propertiesSelect(evt:ContextMenuEvent):void {
        accrCon2.label = "Two Way Split - Properties";   
        accrWin.selectedIndex = 1;
      private function contextMenuItem_viewXMLSelect(evt:ContextMenuEvent):void {               
        viewstack1.selectedIndex = 1;
      private function contextMenuItem_savedListSelect(evt:ContextMenuEvent):void {               
        accrWin.selectedIndex = 0;
      [Bindable]
      private var propValue:String = "Component";
            private function itemClickEvent(event:ListEvent):void {
       var propKey:String = dgProp.selectedItem.@key;
       if (propKey == "name") {
        propValue = dgProp.selectedItem.propvalue;   
      [Bindable]
      private var sourceXML:XML =
      <order>
       <!--This is a comment. -->
       <?PROC_INSTR sample ?>
       <item id='1'>
        <menuName>burger</menuName>
        <price>3.95</price>
       </item>
       <item id='2'>
        <menuName>fries</menuName>
        <price>1.45</price>
       </item>
      </order>;
      [Bindable]
      private var savedComp:Array=['ComponentTemplate',
      'iv85341.EquityCash.v1',
      'ra92724.ThreeWaySplit.EU.US.OTHERS.v1',
      'ra92724.TwoWaySplit.EU.OTHERS.v1',
      'ra92724.TwoWaySplit.US.OTHERS.v1',
      'iv85341.VanillaNode.v1',
      'iv85341.ReadGmrFs.v1'
         [Bindable]
         private var propData:XML =
          <properties>
           <prop key="name">
            <propvalue>Component</propvalue>
         <itemRenderer>mx.controls.NumericStepper</itemRenderer>
           </prop>
           <prop key="Version">
            <propvalue>1.0</propvalue>
         <itemRenderer>mx.controls.NumericStepper</itemRenderer>
           </prop>
           <prop key="Owner">
            <propvalue>iv85341</propvalue>
         <itemRenderer>mx.controls.NumericStepper</itemRenderer>
           </prop>
           <prop key="width">
            <propvalue>250</propvalue>
         <itemRenderer>mx.controls.NumericStepper</itemRenderer>
           </prop>
           <prop key="height">
            <propvalue>300</propvalue>
         <itemRenderer>mx.controls.NumericStepper</itemRenderer>
           </prop>      
           <prop key="X-Pos">
            <propvalue>40</propvalue>
         <itemRenderer>mx.controls.NumericStepper</itemRenderer>
           </prop>
           <prop key="Y-Pos">
            <propvalue>20</propvalue>
         <itemRenderer>mx.controls.NumericStepper</itemRenderer>
           </prop>
          </properties>;
       private function rightClick(event:MouseEvent):void
        Alert.show("Properties ..." + event.currentTarget, "Open");
       // Draging Code Starts Here
       private var curDate:Date = new Date();
       private var dateList:XMLList = null;
       public function pictureDragDrop(event:DragEvent):void { 
        //Alert.show (" com = " + event.dragSource.dataForFormat("key"));
        var nodeName:String = event.dragSource.dataForFormat("key").toString(); //txtInput1.text;
        var nodeValue:String = "";
        if (nodeValue == "")
         if (xm == <AbstractComponentTemplate></AbstractComponentTemplate>)
          xm.appendChild(compType);
          dateList = new XMLList("<DateCreated>" + curDate + "</DateCreated>");
          xm.appendChild(dateList);     
          dateList = new XMLList("<DateModified>" + curDate + "</DateModified>");
          xm.appendChild(dateList);
          xm1 = XML("<" + nodeName + "></" + nodeName + ">");
          xm.appendChild(xm1);
         else
          i++;
          xm1 = XML("<" + nodeName + "></" + nodeName + ">");
          xm.appendChild(xm1);
          //loopparent.push(xmlarray:xm1);
          loopparent[i] = xm1;     
        else
         var xmlList:XMLList = new XMLList("<" + nodeName + ">" + nodeValue + "</" + nodeName + ">");
         if (xm1 == null)
          xm.appendChild(xmlList);
         else
          for (j = i; j>0; j--)
          (loopparent[j]).appendChild(xmlList);
          //Alert.show("alert");
        var x:int = event.currentTarget.mouseX - xOff;
        var y:int = event.currentTarget.mouseY - yOff; 
        if(event.dragSource.dataForFormat("key") == "box")
         designer.addBox(x, y); 
        else  if(event.dragSource.dataForFormat("key") == "circle")
         designer.addCircle(x, y);
        else
         designer.addRectangle(x, y);
        //txtInput1.text = "";
        //txtInput2.text = "";
       // this method gets x and y coordinate of template box image
       private function myoffset(img:Image):void {
        xOff = img.mouseX;
        yOff = img.mouseY;
       // this method does acceptable draging box image
       public function pictureDragEnter(event:DragEvent):void{
        DragManager.acceptDragDrop(Canvas(event.target));       
       // this method supply drag box when mouse move on the design area
       private function dragPicture1(event:MouseEvent, img1:Image,format:String):void{
        var dragInitiator:Image=Image(event.currentTarget);
        var ds:DragSource = new DragSource();
        var imageProxy:Image = new Image();
        imageProxy.source = img1.source;    
        imageProxy.height= 150;
        imageProxy.width= 150;
        ds.addData(format,"key");
        DragManager.doDrag(dragInitiator, ds, event,imageProxy, 0, 0, 1.00);
       // this method works when click on the line button
       // it is make enable to draw line
       public function doDrawEnable():void {
        designer.setIsDrawEnable(true);  
       private var fileRef:FileReference;
       public function createXML():void {
        var fileName:String = "component.xml";
                    fileRef = new FileReference();
        fileRef.browse();
       // Draging code ends here
      ]]>
    </mx:Script>
    <mx:Fade id="theEffect"/>
    <mx:HDividedBox width="100%" height="100%">
      <mx:VDividedBox height="100%" width="20%">  
        <mx:Panel title="Drawing Components" width="100%" height="100%" layout="vertical" >
            <mx:Panel title="Nodes" width="100%" height="100%" layout="vertical">
             <mx:Image id="box" toolTip="TwoWay Split" useHandCursor="true" buttonMode="true" source="@Embed(source='images2/box.png')" mouseMove="dragPicture1(event, box, 'box');myoffset(box);" width="28" height="28" x="84" y="6"></mx:Image>
             <mx:Image id="rectangle" toolTip="MultiWay Split" useHandCursor="true" buttonMode="true" source="@Embed(source='images2/rectangle.png')" mouseMove="dragPicture1(event, rectangle, 'rectangle');myoffset(rectangle);" width="28" height="28" x="160" y="10"></mx:Image>
             <mx:Image id="circle" toolTip="Reader" useHandCursor="true" buttonMode="true"  source="@Embed(source='images2/circle.png')" mouseMove="dragPicture1(event, circle, 'circle');myoffset(circle);" width="28" height="28" x="120" y="8"></mx:Image>
             <mx:Image id="line" toolTip="Line" useHandCursor="true" buttonMode="true" source="@Embed(source='images2/line.png')" click="doDrawEnable()" width="28" height="28"  x="279" y="10"></mx:Image>
             <!--<mx:Image id="dottedline" source="@Embed(source='images2/dottedline.png')" click="doDrawEnable()" width="28" height="35"  x="279" y="10"></mx:Image>
             <mx:Label text="Name" x="350" y="10"/>
             <mx:TextInput id="txtInput1" width="50" height="28" x="400" y="10"/>
             <mx:Label text="Value" x="470" y="10"/>
             <mx:TextInput id="txtInput2" width="50" height="28" x="510" y="10"/>-->
            </mx:Panel>
        </mx:Panel>
      </mx:VDividedBox>
      <mx:VDividedBox height="100%" width="60%">
        <mx:HDividedBox width="100%" height="100%">   
         <mx:Canvas width="100%" height="100%" >
          <mx:TabBar x="0" y="10" dataProvider="viewstack1" />
          <mx:ViewStack id="viewstack1" width="100%" height="100%" y="32">
           <mx:Canvas backgroundColor="#ffffff" borderColor="0xB7BABC" borderStyle="solid" borderThickness="7" label="{propValue}" id="designArea" contextMenu="{cm}" dragEnter="pictureDragEnter(event)" dragDrop="pictureDragDrop(event)" width="100%" height="100%" >
           </mx:Canvas>
           <mx:Panel id="pnlXML" label="XML" width="100%" height="100%" showEffect="{theEffect}" >
            <mx:ControlBar width="100%" barColor="#FF22CC">
             <mx:Spacer width="100%"/>
             <mx:Button id="btnSave" label="Save" useHandCursor="true" buttonMode="true" mouseChildren="false" click="createXML()" />    
            </mx:ControlBar>
            <mx:TextArea fontSize="12" wordWrap="false" textIndent="8" id="txtAreaXML" text="{xm}" width="100%" height="100%" editable="false" />       
           </mx:Panel>
          </mx:ViewStack>
         </mx:Canvas>
        </mx:HDividedBox> 
      </mx:VDividedBox>
      <mx:VDividedBox height="100%" width="20%">
       <mx:Panel title="Saved Components and Properties" width="100%" height="100%" layout="vertical" >
        <mx:Accordion id="accrWin" x="51" y="35" width="100%" height="100%">
            <mx:Canvas label="Saved Components" width="100%" height="100%">
             <mx:List height="100%" width="100%" dataProvider="{savedComp}" />        
            </mx:Canvas>
            <mx:Canvas id="accrCon2" label="Properties" width="100%" height="100%">
             <mx:DataGrid id="dgProp" dataProvider="{propData.prop}" height="100%" width="100%" editable="true" itemClick="itemClickEvent(event);">
              <mx:columns>
               <mx:DataGridColumn dataField="@key" headerText="Property" editable="false" />
               <mx:DataGridColumn dataField="propvalue" headerText="Value" editable="true" />                 
              </mx:columns>
             </mx:DataGrid>
            </mx:Canvas>
         </mx:Accordion>
       </mx:Panel>
      </mx:VDividedBox>
    </mx:HDividedBox>
    <mx:ApplicationControlBar dock="true"> 
      <mx:Image source="images/Openfile.gif" toolTip="Open" useHandCursor="true" buttonMode="true" mouseChildren="false" click="createXML()" />
      <mx:Image source="images/Savefile.gif" toolTip="Save" useHandCursor="true" buttonMode="true" mouseChildren="false" click="createXML()" />
      <mx:Image source="images/Undo.gif" toolTip="Undo" useHandCursor="true" buttonMode="true" mouseChildren="false" />
      <mx:Image source="images/Redo.gif" toolTip="Redo" useHandCursor="true" buttonMode="true" mouseChildren="false" />
      <mx:Image source="images/Delete.gif" toolTip="Delete" useHandCursor="true" buttonMode="true" mouseChildren="false" />
      <mx:Image source="images/Print.gif" toolTip="Print" useHandCursor="true" buttonMode="true" mouseChildren="false" />
      <mx:Spacer width="100%" />
      <mx:Label text="BackTesting" fontWeight="bold" fontSize="16" />
    </mx:ApplicationControlBar>
    </mx:Application>
    Plz change my code according to the requirement.
    Thanks

    Could you give us the full source code?
    Thanks!!

  • Sap script '' how to create table frame in sap script"""

    i have some problem in sap script''  how to create table frame in sap script"""

    Hi,
    you can use BOX command..
    Syntax
    /: BOX [XPOS] [YPOS] [WIDTH] [HEIGHT] [FRAME] [INTENSITY]
    Effect: draws a box of the specified size at the specified position.
    Parameters: For each of XPOS, YPOS, WIDTH, HEIGHT and FRAME both a measurement and a unit of measurement must be specified. The INTENSITY parameter should be specified as a percentage between 0 and 100.
    1. XPOS, YPOS: Upper left corner of the box, relative to the values of the POSITION command.
    Default: Values specified in the POSITION command.
    The following calculation is performed internally to determine the absolute output position of a box on the page:
    X(abs) = XORIGIN + XPOS
    Y(abs) = YORIGIN + YPOS
    2. WIDTH: Width of the box. Default: WIDTH value of the SIZE command.
    3. HEIGHT: Height of the box. Default: HEIGHT value of the SIZE command.
    4. FRAME: Thickness of frame.
    Default: 0 (no frame).
    5. INTENSITY: Grayscale of box contents as % .
    Default: 100 (full black)
    Measurements: Decimal numbers must be specified as literal values (like ABAP numeric constants) by being enclosed in inverted commas. The period should be used as the decimal point character. See also the examples listed below.
    Units of measurement: The following units of measurement may be used:
    • TW (twip)
    • PT (point)
    • IN (inch)
    • MM (millimeter)
    • CM (centimeter)
    • LN (line)
    • CH (character).
    The following conversion factors apply:
    • 1 TW = 1/20 PT
    • 1 PT = 1/72 IN
    • 1 IN = 2.54 CM
    • 1 CM = 10 MM
    • 1 CH = height of a character relative to the CPI specification in the layout set header
    • 1 LN = height of a line relative to the LPI specification in the layout set header
    /: BOX FRAME 10 TW
    Draws a frame around the current window with a frame thickness of 10 TW (= 0.5 PT).
    /: BOX INTENSITY 10
    Fills the window background with shadowing having a gray scale of 10 %.
    /: BOX HEIGHT 0 TW FRAME 10 TW
    Draws a horizontal line across the complete top edge of the window.
    /: BOX WIDTH 0 TW FRAME 10 TW
    Draws a vertical line along the complete height of the left hand edge of the window.
    /: BOX WIDTH '17.5' CM HEIGHT 1 CM FRAME 10 TW INTENSITY 15
    /: BOX WIDTH '17.5' CM HEIGHT '13.5' CM FRAME 10 TW
    /: BOX XPOS '10.0' CM WIDTH 0 TW HEIGHT '13.5' CM FRAME 10 TW
    /: BOX XPOS '13.5' CM WIDTH 0 TW HEIGHT '13.5' CM FRAME 10 TW
    Draws two rectangles and two lines to construct a table of three columns with a highlighted heading section.
    check the fallowing link also
    http://help.sap.com/saphelp_40b/helpdata/en/d1/803293454211d189710000e8322d00/content.htm
    Mark the points if u find it useful...
    Regards,
    Omkar.

  • Confused on creating a rectangle and validating its size & position afterwards

    If one creates a rectangle in a layer like this:
    var childLayer = parentLayer.pathItems.rectangle(top, left, someWidth, someHeight);
    childLayer.stroked = false;
    childLayer.filled = true;
    After creating the rectangle, would one read it back like this:
    var bounds = childLayer.geometricBounds;
    alert("bounds: "+bounds[0]+","+bounds[1]+","+bounds[2]+","+bounds[3]);
    or should I use visibleBounds, or controlBounds? Or something else?
    I know if stroke not used or can exclude can use geometric bounds? Or rather all 3 bounds could be the same in that case?
    I'm confused right now because I'm assuming the bounds represent the four corners of the rectangle's position in the document and when read back out, the values (bounds[0] and bounds[1]) don't match against the top & left values originally passed in to create the rectangle. Shouldn't they be the same?
    If not, how am I supposed to validate that the layer/object uses the same top & left values for it's position as when the rectangle was created (for say validation purposes)?
    Also I assume I should be able to fetch the position of one corner using childLayer.top & childLayer.left as well right? For some reason, that doesn't match with top & left either.

    Using your code snippet, I get same values. I'm using Adobe Illustrator CS6 (64-bit).
    But using a slightly different snippet, adapted from original script code I'm working with:
    var doc = app.activeDocument;
    var finishedWidth = 6.74 * 72;
    var finishedHeight = 4.84 * 72;
    var top = (362.88 - finishedHeight) / 2;
    var left = (502.56 - finishedWidth) / 2;
    alert("orig left: "+left+", top: "+top+", width: "+finishedWidth+", height: "+finishedHeight);
    var trimLayer = doc.pathItems.rectangle(top, left, finishedWidth, finishedHeight);
    alert("done left: "+trimLayer.left+", top: "+trimLayer.top);
    var bounds = trimLayer.geometricBounds;
    alert("bounds: "+bounds[0]+","+bounds[1]+","+bounds[2]+","+bounds[3]);
    the results are off regarding trimLayer.left & trimLayer.right compared to the original top & left values passed in. But the bounds values are correct. From your code snippet, I checked the rect.left and rect.top & it's still correct.
    Here's the output of the alerts (with some rounding of values as opposed to what was displayed):
    orig left: 8.64, top: 7.19, width: 485.28, height: 348.48
    done left: 8.14, top: 7.7
    bounds: 8.64,7.2,493.92,-341.28
    and debugging the original script code, the script I'm working with, (the rect.left, rect.top and) the bounds don't match up, with a difference from 0.14 to 0.42 to the actual value it's supposed to be. Extracting the area of code that I'm debugging out (for generalization and sharing code) results in the snippet above, and for some reason there, outside the context of the full script, the bounds are correct but not the rect.left & rect.top. Unfortunately, can't share the rest of the code at present.
    Guess I'll have to investigate further, with help from my team's developers. At the moment I'm perplexed by these variations. Logically, from reading the code & scripting reference, I would have expected the values to match up in all cases.

Maybe you are looking for

  • Is there a way of tracing a lost account on Itunes?

    I have had to set up another account on Itunes and cannot find my original purchases or downloads. Is there a way of finding them and adding them to my new account as there were approx 4000 tunes held on the account?

  • Adio and Video not in sync when exporting QT Movie

    Hi guys, I'm having a very strange problem here. I'm using FCS2 and have edited a sequence in FCP using HD720p. In Final Cut Pro, everything is fine, I can play the sequence and the adio matches the video as expected. When I export the sequence to a

  • What are the limitations of the software during the 30 day trial?

    what are the limitations of the software during the 30 day trial?

  • Graph Help

    Hi, I have a bar graph (BAR_HORIZ_CLUST) based on the one shown in the User Guide with some small integer values and the marker text displayed. That works OK and I figured out how not to display any decimals, but I have 2 issues: 1. There is no marke

  • Updating preferences in ID cc not saving

    I'm using InDesign CC - saved and re-saved my preferences but still will not default to inches when I creat a new doc. Still shows up as pics. Why??