001: /*
002: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
003: *
004: * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
005: *
006: * The contents of this file are subject to the terms of either the GNU
007: * General Public License Version 2 only ("GPL") or the Common
008: * Development and Distribution License("CDDL") (collectively, the
009: * "License"). You may not use this file except in compliance with the
010: * License. You can obtain a copy of the License at
011: * http://www.netbeans.org/cddl-gplv2.html
012: * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
013: * specific language governing permissions and limitations under the
014: * License. When distributing the software, include this License Header
015: * Notice in each file and include the License file at
016: * nbbuild/licenses/CDDL-GPL-2-CP. Sun designates this
017: * particular file as subject to the "Classpath" exception as provided
018: * by Sun in the GPL Version 2 section of the License file that
019: * accompanied this code. If applicable, add the following below the
020: * License Header, with the fields enclosed by brackets [] replaced by
021: * your own identifying information:
022: * "Portions Copyrighted [year] [name of copyright owner]"
023: *
024: * Contributor(s):
025: *
026: * The Original Software is NetBeans. The Initial Developer of the Original
027: * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun
028: * Microsystems, Inc. All Rights Reserved.
029: *
030: * If you wish your version of this file to be governed by only the CDDL
031: * or only the GPL Version 2, indicate your decision by adding
032: * "[Contributor] elects to include this software in this distribution
033: * under the [CDDL or GPL Version 2] license." If you do not indicate a
034: * single choice of license, a recipient has the option to distribute
035: * your version of this file under either the CDDL, the GPL Version 2 or
036: * to extend the choice of license to its licensees as provided above.
037: * However, if you add GPL Version 2 code and therefore, elected the GPL
038: * Version 2 license, then the option applies only if the new code is
039: * made subject to such option by the copyright holder.
040: */
041: package org.netbeans.modules.vmd.game.model;
042:
043: import org.netbeans.modules.vmd.api.model.*;
044: import org.netbeans.modules.vmd.game.integration.GameCodeSupport;
045:
046: import java.util.Arrays;
047: import java.util.List;
048:
049: /**
050: * @author David Kaspar, Karel Herink
051: */
052: public class SpriteCD extends ComponentDescriptor {
053:
054: public static final TypeID TYPEID = new TypeID(
055: TypeID.Kind.COMPONENT,
056: "org.netbeans.modules.vmd.game.model.Sprite"); // NOI18N
057:
058: public TypeDescriptor getTypeDescriptor() {
059: return new TypeDescriptor(LayerCD.TYPEID, TYPEID, true, false);
060: }
061:
062: public VersionDescriptor getVersionDescriptor() {
063: return null;
064: }
065:
066: public List<PropertyDescriptor> getDeclaredPropertyDescriptors() {
067: return SequenceContainerCDProperties
068: .getDeclaredPropertyDescriptors();
069: }
070:
071: protected List<? extends Presenter> createPresenters() {
072: return Arrays.asList(
073: // code
074: GameCodeSupport.createSpriteCodePresenter());
075: }
076:
077: //this would be the ideal set of properties for a sprite - however the current sprite editor
078: //doesn't actually modify most of these properties :(
079:
080: // public static final TypeID TYPEID = new TypeID (TypeID.Kind.COMPONENT, "java.microedition.lcdui.game.Sprite"); // NOI18N
081: //
082: // private static final String PROP_IMAGE = "image"; // NOI18N
083: // private static final String PROP_FRAME_DIMENSION = "frameDimension"; // NOI18N
084: //
085: // private static final String PROP_COLLISION_RECTANGLE = "collisionRectangle"; // NOI18N
086: //
087: // private static final String PROP_DEFINE_REFERENCE_PIXEL = "defineReferencePixel"; // NOI18N
088: // private static final String PROP_REFERENCE_PIXEL = "referencePixel"; // NOI18N
089: //
090: // private static final String PROP_TRANSFORMATION = "transformation"; // NOI18N
091: //
092: // private static final String PROP_FRAME = "currentFrame"; // NOI18N
093: // private static final String PROP_FRAME_SEQUENCE = "sequence"; // NOI18N
094: //
095: // private static final int VALUE_TRANS_NONE = 0;
096: // private static final int VALUE_TRANS_MIRROR_ROT180 = 1;
097: // private static final int VALUE_TRANS_MIRROR = 2;
098: // private static final int VALUE_TRANS_ROT180 = 3;
099: // private static final int VALUE_TRANS_MIRROR_ROT270 = 4;
100: // private static final int VALUE_TRANS_ROT90 = 5;
101: // private static final int VALUE_TRANS_ROT270 = 6;
102: // private static final int VALUE_TRANS_MIRROR_ROT90 = 7;
103: //
104: // public TypeDescriptor getTypeDescriptor() {
105: // return new TypeDescriptor(null, TYPEID, true, false);
106: // }
107: //
108: // public VersionDescriptor getVersionDescriptor() {
109: // return null;
110: // }
111: //
112: // public List<PropertyDescriptor> getDeclaredPropertyDescriptors() {
113: // return Arrays.asList (
114: // new PropertyDescriptor (PROP_IMAGE, ImageResourceCD.TYPEID, PropertyValue.createNull (), true, false, null),
115: // new PropertyDescriptor (PROP_FRAME_DIMENSION, GameTypes.TYPEID_DIMENSION, PropertyValue.createNull (), true, false, null),
116: // new PropertyDescriptor (PROP_COLLISION_RECTANGLE, GameTypes.TYPEID_RECTANGLE, PropertyValue.createNull (), true, false, null),
117: // new PropertyDescriptor (PROP_DEFINE_REFERENCE_PIXEL, GameTypes.TYPEID_POINT, PropertyValue.createNull (), true, false, null),
118: // new PropertyDescriptor (PROP_REFERENCE_PIXEL, GameTypes.TYPEID_POINT, PropertyValue.createNull (), true, false, null),
119: // new PropertyDescriptor (PROP_TRANSFORMATION, MidpTypes.TYPEID_INT, MidpTypes.createIntegerValue (VALUE_TRANS_NONE), false, false, null),
120: // new PropertyDescriptor (PROP_FRAME, MidpTypes.TYPEID_INT, PropertyValue.createNull (), true, false, null),
121: // new PropertyDescriptor (PROP_FRAME_SEQUENCE, SpriteSequenceCD.TYPEID, PropertyValue.createNull (), true, false, null)
122: // );
123: // }
124: //
125: // protected List<? extends Presenter> createPresenters() {
126: // return null;
127: // }
128:
129: }
|