Search in sources :

Example 1 with PluginManager

use of net.runelite.client.plugins.PluginManager in project runelite by runelite.

the class OverlayRenderer method rebuildOverlays.

private void rebuildOverlays() {
    final List<Overlay> overlays = Stream.concat(pluginManager.getPlugins().stream().filter(pluginManager::isPluginEnabled).flatMap(plugin -> plugin.getOverlays().stream()), Stream.of(infoBoxOverlay, tooltipOverlay)).filter(Objects::nonNull).collect(Collectors.toList());
    sortOverlays(overlays);
    allOverlays.clear();
    allOverlays.addAll(overlays);
    final Client client = clientProvider.get();
    for (final Overlay overlay : overlays) {
        final Point location = loadOverlayLocation(overlay);
        if (location != null && client.getCanvas() != null && !client.getCanvas().contains(location)) {
            overlay.setPreferredLocation(null);
            saveOverlayLocation(overlay);
        } else {
            overlay.setPreferredLocation(location);
        }
        final OverlayPosition position = loadOverlayPosition(overlay);
        overlay.setPreferredPosition(position);
    }
    rebuildOverlayLayers();
}
Also used : Color(java.awt.Color) Rectangle(java.awt.Rectangle) KeyManager(net.runelite.client.input.KeyManager) Provider(javax.inject.Provider) TooltipOverlay(net.runelite.client.ui.overlay.tooltip.TooltipOverlay) FocusChanged(net.runelite.api.events.FocusChanged) Widget(net.runelite.api.widgets.Widget) Point(java.awt.Point) HashMap(java.util.HashMap) Singleton(javax.inject.Singleton) MouseListener(net.runelite.client.input.MouseListener) ConfigManager(net.runelite.client.config.ConfigManager) Inject(javax.inject.Inject) SwingUtilities(javax.swing.SwingUtilities) Graphics2D(java.awt.Graphics2D) Map(java.util.Map) WidgetInfo(net.runelite.api.widgets.WidgetInfo) InfoBoxOverlay(net.runelite.client.ui.overlay.infobox.InfoBoxOverlay) Subscribe(com.google.common.eventbus.Subscribe) GameState(net.runelite.api.GameState) BufferedImage(java.awt.image.BufferedImage) RuneLiteConfig(net.runelite.client.config.RuneLiteConfig) MoreObjects(com.google.common.base.MoreObjects) PluginChanged(net.runelite.client.events.PluginChanged) KeyEvent(java.awt.event.KeyEvent) Client(net.runelite.api.Client) Collectors(java.util.stream.Collectors) MouseEvent(java.awt.event.MouseEvent) KeyListener(net.runelite.client.input.KeyListener) PluginManager(net.runelite.client.plugins.PluginManager) Objects(java.util.Objects) Consumer(java.util.function.Consumer) Dimension(java.awt.Dimension) List(java.util.List) Slf4j(lombok.extern.slf4j.Slf4j) Stream(java.util.stream.Stream) MouseManager(net.runelite.client.input.MouseManager) GameStateChanged(net.runelite.api.events.GameStateChanged) Collections(java.util.Collections) FontManager(net.runelite.client.ui.FontManager) ConcurrentLinkedQueue(java.util.concurrent.ConcurrentLinkedQueue) CopyOnWriteArrayList(java.util.concurrent.CopyOnWriteArrayList) ConfigGroup(net.runelite.client.config.ConfigGroup) Point(java.awt.Point) TooltipOverlay(net.runelite.client.ui.overlay.tooltip.TooltipOverlay) InfoBoxOverlay(net.runelite.client.ui.overlay.infobox.InfoBoxOverlay) Client(net.runelite.api.Client)

Aggregations

MoreObjects (com.google.common.base.MoreObjects)1 Subscribe (com.google.common.eventbus.Subscribe)1 Color (java.awt.Color)1 Dimension (java.awt.Dimension)1 Graphics2D (java.awt.Graphics2D)1 Point (java.awt.Point)1 Rectangle (java.awt.Rectangle)1 KeyEvent (java.awt.event.KeyEvent)1 MouseEvent (java.awt.event.MouseEvent)1 BufferedImage (java.awt.image.BufferedImage)1 Collections (java.util.Collections)1 HashMap (java.util.HashMap)1 List (java.util.List)1 Map (java.util.Map)1 Objects (java.util.Objects)1 ConcurrentLinkedQueue (java.util.concurrent.ConcurrentLinkedQueue)1 CopyOnWriteArrayList (java.util.concurrent.CopyOnWriteArrayList)1 Consumer (java.util.function.Consumer)1 Collectors (java.util.stream.Collectors)1 Stream (java.util.stream.Stream)1