Search in sources :

Example 1 with ImageViewer

use of com.codename1.components.ImageViewer in project CodenameOne by codenameone.

the class PreviewInSimulator method main.

/**
 * Called back from simulateDeviceActionPerformed to show the simulator skin
 */
public static void main(String[] argv) {
    com.codename1.ui.Display.init(new Runnable() {

        public void run() {
            try {
                Preferences pref = Preferences.userNodeForPackage(PreviewInSimulator.class);
                String theme = pref.get("previewTheme", null);
                File resFile = new File(pref.get("previewResource", null));
                String baseResDir = pref.get("baseResourceDir", null);
                if (baseResDir != null) {
                    JavaSEPort.setBaseResourceDir(new File(baseResDir));
                }
                String selection = pref.get("previewSelection", null);
                Resources res = Resources.open(new FileInputStream(resFile));
                if (theme == null || theme.length() == 0) {
                    if (com.codename1.ui.Display.getInstance().hasNativeTheme()) {
                        com.codename1.ui.Display.getInstance().installNativeTheme();
                    }
                } else {
                    com.codename1.ui.plaf.UIManager.getInstance().setThemeProps(res.getTheme(theme));
                }
                com.codename1.ui.util.UIBuilder.registerCustomComponent("Table", com.codename1.ui.table.Table.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("MediaPlayer", com.codename1.components.MediaPlayer.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("ContainerList", com.codename1.ui.list.ContainerList.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("ComponentGroup", com.codename1.ui.ComponentGroup.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("Tree", com.codename1.ui.tree.Tree.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("HTMLComponent", com.codename1.ui.html.HTMLComponent.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("RSSReader", com.codename1.components.RSSReader.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("FileTree", com.codename1.components.FileTree.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("WebBrowser", com.codename1.components.WebBrowser.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("NumericSpinner", com.codename1.ui.spinner.NumericSpinner.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("DateSpinner", com.codename1.ui.spinner.DateSpinner.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("TimeSpinner", com.codename1.ui.spinner.TimeSpinner.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("DateTimeSpinner", com.codename1.ui.spinner.DateTimeSpinner.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("GenericSpinner", com.codename1.ui.spinner.GenericSpinner.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("LikeButton", com.codename1.facebook.ui.LikeButton.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("InfiniteProgress", com.codename1.components.InfiniteProgress.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("MultiButton", com.codename1.components.MultiButton.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("SpanButton", com.codename1.components.SpanButton.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("SpanLabel", com.codename1.components.SpanLabel.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("Ads", com.codename1.components.Ads.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("MapComponent", com.codename1.maps.MapComponent.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("MultiList", com.codename1.ui.list.MultiList.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("ShareButton", com.codename1.components.ShareButton.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("OnOffSwitch", com.codename1.components.OnOffSwitch.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("ImageViewer", com.codename1.components.ImageViewer.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("AutoCompleteTextField", com.codename1.ui.AutoCompleteTextField.class);
                com.codename1.ui.util.UIBuilder.registerCustomComponent("Picker", com.codename1.ui.spinner.Picker.class);
                com.codename1.ui.util.UIBuilder builder = new com.codename1.ui.util.UIBuilder();
                com.codename1.ui.Container c = builder.createContainer(res, selection);
                if (c instanceof com.codename1.ui.Form) {
                    ((com.codename1.ui.Form) c).refreshTheme();
                    if (c instanceof com.codename1.ui.Dialog) {
                        ((com.codename1.ui.Dialog) c).showModeless();
                    } else {
                        ((com.codename1.ui.Form) c).show();
                    }
                } else {
                    com.codename1.ui.Form f = new com.codename1.ui.Form();
                    f.setLayout(new com.codename1.ui.layouts.BorderLayout());
                    f.addComponent(com.codename1.ui.layouts.BorderLayout.CENTER, c);
                    f.refreshTheme();
                    f.show();
                }
            } catch (Exception ex) {
                ex.printStackTrace();
                JOptionPane.showMessageDialog(null, "Error While Running In Simulator: " + ex, "Error", JOptionPane.ERROR_MESSAGE);
            }
        }
    });
}
Also used : Preferences(java.util.prefs.Preferences) FileInputStream(java.io.FileInputStream) IOException(java.io.IOException) BackingStoreException(java.util.prefs.BackingStoreException) Resources(com.codename1.ui.util.Resources) File(java.io.File)

Example 2 with ImageViewer

use of com.codename1.components.ImageViewer in project CodenameOne by codenameone.

the class ImageViewer method getCroppedImage.

/**
 * Gets the current image cropped using the current pan and zoom state.
 * @param width The width of the cropped image.  Use -1 to match aspect ratio of the ImageViewer component.  Either height or width must be positive.
 * @param height The height of the cropped image. Use -1 to match aspect ratio of the ImageViewer component.  Either height or width must be positive.
 * @param backgroundColor Background color to use for letterboxing.
 * @return Cropped image in specified dimensions.
 * @since 7.0
 */
public Image getCroppedImage(int width, int height, int backgroundColor) {
    if (image == null) {
        return null;
    }
    updatePositions();
    if (width < 0) {
        width = (int) Math.round(height * getWidth() / (double) getHeight());
    }
    if (height < 0) {
        height = (int) Math.round(width * getHeight() / (double) getWidth());
    }
    Image out = ImageFactory.createImage(this, width, height, backgroundColor);
    Graphics g = out.getGraphics();
    g.setColor(backgroundColor);
    g.fillRect(0, 0, width, height);
    cropBox.paint(g, width, height);
    return out;
}
Also used : Graphics(com.codename1.ui.Graphics) Image(com.codename1.ui.Image)

Example 3 with ImageViewer

use of com.codename1.components.ImageViewer in project CodenameOne by codenameone.

the class ImageViewerTest2679 method start.

public void start() {
    if (current != null) {
        current.show();
        return;
    }
    Form f = new Form(new LayeredLayout());
    f.setScrollableY(false);
    f.setScrollableX(false);
    f.getContentPane().setScrollableY(false);
    f.getContentPane().setScrollableX(false);
    ImageViewer viewer = new ImageViewer();
    viewer.setAllowScaleDown(true);
    viewer.setImageInitialPosition(ImageViewer.IMAGE_FILL);
    ListModel images = new DefaultListModel();
    final int w = 724;
    final int h = 1024;
    for (int i = 0; i < 10; i++) {
        Image placeholder = Image.createImage(w, h);
        Image img = URLImage.createCachedImage("experimentImage", "https://media.istockphoto.com/vectors/decorative-black-rectangular-frame-for-label-certificate-card-a3-a4-vector-id1039615844", placeholder, URLImage.FLAG_RESIZE_SCALE);
        images.addItem(img);
    }
    f.addComponent(viewer);
    viewer.setImageList(images);
    f.show();
}
Also used : Form(com.codename1.ui.Form) ListModel(com.codename1.ui.list.ListModel) DefaultListModel(com.codename1.ui.list.DefaultListModel) DefaultListModel(com.codename1.ui.list.DefaultListModel) LayeredLayout(com.codename1.ui.layouts.LayeredLayout) Image(com.codename1.ui.Image) URLImage(com.codename1.ui.URLImage) ImageViewer(com.codename1.components.ImageViewer)

Example 4 with ImageViewer

use of com.codename1.components.ImageViewer in project CodenameOne by codenameone.

the class ThemeEditor method initMIDlet.

private void initMIDlet() {
    JavaSEPortWithSVGSupport.setShowEDTWarnings(false);
    JavaSEPortWithSVGSupport.setShowEDTViolationStacks(false);
    // its a UI form
    if (uiPreviewContent.getSelectedIndex() == uiPreviewContent.getModel().getSize() - 1) {
        previewPanel.removeAll();
        if (com.codename1.ui.Display.isInitialized()) {
            com.codename1.ui.Display.deinitialize();
        }
        JavaSEPortWithSVGSupport.setDefaultInitTarget(previewPanel);
        com.codename1.ui.Display.init(previewPanel);
        previewPanel.getComponent(0).setBounds(0, 0, get(widthResoltution), get(heightResolution));
        previewPanel.getComponent(0).setPreferredSize(new java.awt.Dimension(get(widthResoltution), get(heightResolution)));
        PickMIDlet.startMIDlet(themeHash);
    } else {
        Preferences.userNodeForPackage(getClass()).put("uiPreviewContent", (String) uiPreviewContent.getSelectedItem());
        Accessor.setTheme(themeHash);
        if (com.codename1.ui.Display.isInitialized()) {
            com.codename1.ui.Display.deinitialize();
        }
        previewPanel.removeAll();
        com.codename1.ui.Display.init(previewPanel);
        previewPanel.getComponent(0).setBounds(0, 0, get(widthResoltution), get(heightResolution));
        previewPanel.getComponent(0).setPreferredSize(new java.awt.Dimension(get(widthResoltution), get(heightResolution)));
        com.codename1.ui.util.UIBuilder.registerCustomComponent("Table", com.codename1.ui.table.Table.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("MediaPlayer", com.codename1.components.MediaPlayer.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("ContainerList", com.codename1.ui.list.ContainerList.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("ComponentGroup", com.codename1.ui.ComponentGroup.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("Tree", com.codename1.ui.tree.Tree.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("HTMLComponent", com.codename1.ui.html.HTMLComponent.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("RSSReader", com.codename1.components.RSSReader.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("FileTree", com.codename1.components.FileTree.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("WebBrowser", com.codename1.components.WebBrowser.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("NumericSpinner", com.codename1.ui.spinner.NumericSpinner.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("DateSpinner", com.codename1.ui.spinner.DateSpinner.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("TimeSpinner", com.codename1.ui.spinner.TimeSpinner.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("DateTimeSpinner", com.codename1.ui.spinner.DateTimeSpinner.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("GenericSpinner", com.codename1.ui.spinner.GenericSpinner.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("LikeButton", com.codename1.facebook.ui.LikeButton.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("InfiniteProgress", com.codename1.components.InfiniteProgress.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("MultiButton", com.codename1.components.MultiButton.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("SpanButton", com.codename1.components.SpanButton.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("SpanLabel", com.codename1.components.SpanLabel.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("Ads", com.codename1.components.Ads.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("MapComponent", com.codename1.maps.MapComponent.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("MultiList", com.codename1.ui.list.MultiList.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("ShareButton", com.codename1.components.ShareButton.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("OnOffSwitch", com.codename1.components.OnOffSwitch.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("ImageViewer", com.codename1.components.ImageViewer.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("AutoCompleteTextField", com.codename1.ui.AutoCompleteTextField.class);
        com.codename1.ui.util.UIBuilder.registerCustomComponent("Picker", com.codename1.ui.spinner.Picker.class);
        Display.getInstance().callSerially(new Runnable() {

            @Override
            public void run() {
                com.codename1.ui.util.UIBuilder builder = new com.codename1.ui.util.UIBuilder();
                final com.codename1.ui.Container c = builder.createContainer(resources, (String) uiPreviewContent.getSelectedItem());
                if (c instanceof com.codename1.ui.Form) {
                    if (c instanceof com.codename1.ui.Dialog) {
                        com.codename1.ui.animations.Transition t = ((com.codename1.ui.Dialog) c).getTransitionInAnimator();
                        ((com.codename1.ui.Dialog) c).setTransitionInAnimator(com.codename1.ui.animations.CommonTransitions.createEmpty());
                        ((com.codename1.ui.Dialog) c).showModeless();
                        ((com.codename1.ui.Dialog) c).setTransitionInAnimator(t);
                    } else {
                        com.codename1.ui.animations.Transition t = ((com.codename1.ui.Form) c).getTransitionInAnimator();
                        ((com.codename1.ui.Form) c).setTransitionInAnimator(com.codename1.ui.animations.CommonTransitions.createEmpty());
                        ((com.codename1.ui.Form) c).show();
                        ((com.codename1.ui.Form) c).setTransitionInAnimator(t);
                    }
                } else {
                    com.codename1.ui.Form f = new Form();
                    f.setTransitionInAnimator(com.codename1.ui.animations.CommonTransitions.createEmpty());
                    f.setLayout(new com.codename1.ui.layouts.BorderLayout());
                    f.addComponent(com.codename1.ui.layouts.BorderLayout.CENTER, c);
                    f.show();
                }
            }
        });
    }
}
Also used : Form(com.codename1.ui.Form) Form(com.codename1.ui.Form) UIBuilderOverride(com.codename1.ui.util.UIBuilderOverride) Hashtable(java.util.Hashtable)

Example 5 with ImageViewer

use of com.codename1.components.ImageViewer in project CodenameOne by codenameone.

the class ImageViewerSample2778 method start.

public void start() {
    if (current != null) {
        current.show();
        return;
    }
    String imageURL = "https://upload.wikimedia.org/wikipedia/commons/f/f5/Steve_Jobs_Headshot_2010-CROP2.jpg";
    Form hi = new Form("Hi World", new BorderLayout());
    ImageViewer viewer = new ImageViewer();
    Button getCroppedImage = new Button("Get Crop");
    getCroppedImage.addActionListener(e -> {
        Label l = new Label(viewer.getCroppedImage(300, -1, 0x0));
        Dialog.show("Crop is", l, new Command("OK"));
    });
    Button getCroppedImageFullSize = new Button("Get Crop (Full Size)");
    getCroppedImageFullSize.addActionListener(e -> {
        Label l = new Label(viewer.getCroppedImage(0x0));
        Dialog.show("Crop is", l, new Command("OK"));
    });
    Util.downloadImageToCache(imageURL).ready(img -> {
        viewer.setImage(img);
        hi.revalidateWithAnimationSafety();
    }).except(ex -> Log.e(ex));
    hi.add(BorderLayout.CENTER, viewer);
    hi.add(BorderLayout.SOUTH, FlowLayout.encloseIn(getCroppedImage, getCroppedImageFullSize));
    hi.show();
}
Also used : Util(com.codename1.io.Util) Toolbar(com.codename1.ui.Toolbar) BoxLayout(com.codename1.ui.layouts.BoxLayout) FlowLayout(com.codename1.ui.layouts.FlowLayout) Resources(com.codename1.ui.util.Resources) IOException(java.io.IOException) Form(com.codename1.ui.Form) Log(com.codename1.io.Log) BorderLayout(com.codename1.ui.layouts.BorderLayout) NetworkEvent(com.codename1.io.NetworkEvent) UIManager(com.codename1.ui.plaf.UIManager) ImageViewer(com.codename1.components.ImageViewer) Command(com.codename1.ui.Command) Dialog(com.codename1.ui.Dialog) Display(com.codename1.ui.Display) Label(com.codename1.ui.Label) Button(com.codename1.ui.Button) CN(com.codename1.ui.CN) URLImage(com.codename1.ui.URLImage) BorderLayout(com.codename1.ui.layouts.BorderLayout) Form(com.codename1.ui.Form) Button(com.codename1.ui.Button) Command(com.codename1.ui.Command) Label(com.codename1.ui.Label) ImageViewer(com.codename1.components.ImageViewer)

Aggregations

Form (com.codename1.ui.Form)3 ImageViewer (com.codename1.components.ImageViewer)2 Image (com.codename1.ui.Image)2 URLImage (com.codename1.ui.URLImage)2 Resources (com.codename1.ui.util.Resources)2 IOException (java.io.IOException)2 Log (com.codename1.io.Log)1 NetworkEvent (com.codename1.io.NetworkEvent)1 Util (com.codename1.io.Util)1 Button (com.codename1.ui.Button)1 CN (com.codename1.ui.CN)1 Command (com.codename1.ui.Command)1 Dialog (com.codename1.ui.Dialog)1 Display (com.codename1.ui.Display)1 Graphics (com.codename1.ui.Graphics)1 Label (com.codename1.ui.Label)1 Toolbar (com.codename1.ui.Toolbar)1 BorderLayout (com.codename1.ui.layouts.BorderLayout)1 BoxLayout (com.codename1.ui.layouts.BoxLayout)1 FlowLayout (com.codename1.ui.layouts.FlowLayout)1