public override void Animate(IViewPublisher publisher, CancellationToken token) { for (int loopi = 0; loopi < 1000; loopi++) { DispatcherInvocker(() => { var colors = new List <Brush>(); for (int i = 0; i < TOTAL_LED; i++) { var green = BrushHelper.BuildBrush(0, 255, 0); colors.Add(green); } for (int i = 0; i < 5; i++) { var ind = rd.Next(0, TOTAL_LED); colors[ind] = BrushHelper.BuildBrush(255, 255, 255); } publisher.UpdateAllLeds(colors); }); token.ThrowIfCancellationRequested(); WaitAction(); } }
public Window1() { InitializeComponent(); #if MULTIPLE for (int ix = 0; ix < colNum; ix++) { content.ColumnDefinitions.Add(new ColumnDefinition()); } for (int iy = 0; iy < rowNum; iy++) { content.RowDefinitions.Add(new RowDefinition()); } for (int ix = 0; ix < colNum; ix++) { for (int iy = 0; iy < rowNum; iy++) { ChartPlotter plotter = new ChartPlotter(); plotter.MainHorizontalAxis = null; plotter.MainVerticalAxis = null; plotter.BorderThickness = new Thickness(1); Grid.SetColumn(plotter, ix); Grid.SetRow(plotter, iy); content.Children.Add(plotter); plotter.LegendVisibility = Visibility.Hidden; plotter.Legend.AutoShowAndHide = false; AnimatedDataSource ds = new AnimatedDataSource(); data.Add(ds); LineGraph line = new LineGraph(ds.DataSource); line.Stroke = BrushHelper.CreateBrushWithRandomHue(); line.StrokeThickness = 2; line.Filters.Add(new FrequencyFilter()); plotter.Children.Add(line); } } #else ChartPlotter plotter = new ChartPlotter(); plotter.HorizontalAxis = null; plotter.VerticalAxis = null; content.Children.Add(plotter); for (int i = 0; i < rowNum * colNum; i++) { AnimatedDataSource ds = new AnimatedDataSource(); data.Add(ds); LineGraph line = new LineGraph(ds.DataSource); line.LineBrush = BrushHelper.CreateBrushWithRandomHue(); line.LineThickness = 1; line.Filters.Add(new FrequencyFilter()); plotter.Children.Add(line); } #endif Loaded += new RoutedEventHandler(Window1_Loaded); }
public MainWindow() { InitializeComponent(); this.DataContext = this; this.ColorScheme = BrushHelper.CreateRainbowBrush(false); this.Categories = new[] { "Asia", "Africa", "North America", "South America", "Antarctica", "Europe", "Australia" }; this.ColorScheme2 = BrushHelper.CreateSteppedGradientBrush(new[] { Colors.Yellow, Colors.Brown, Colors.Red, Colors.Green, Colors.White, Colors.Orange, Colors.Blue }, false); }
private Brush getRandomBrush() { int r = rd.Next(0, 255); int g = rd.Next(0, 255); int b = rd.Next(0, 255); return(BrushHelper.BuildBrush(r, g, b)); }
public async virtual void AddShapefile() { this.IsBusy = true; var fileName = this.RequestOpenFile("shapefile|*.shp"); if (!File.Exists(fileName)) { this.IsBusy = false; return; } FileInfo info = new FileInfo(fileName); //if (info.Length / 10000.0 > 1000) //5k //{ // ShowMessage("حجم فایل انتخابی بیش از حد مجاز است"); // return; //} try { var dataSource = await Task.Run <IFeatureDataSource>(async() => { var shp = (await IRI.Ket.ShapefileFormat.Shapefile.ProjectAsync(fileName, new IRI.Ham.CoordinateSystem.MapProjection.WebMercator())) .Select(i => i.AsSqlGeometry(3857)) .Where(i => !i.IsNotValidOrEmpty()) .ToList(); MemoryDataSource <object> source = new MemoryDataSource <object>(shp); return(source); }); var vectorLayer = new VectorLayer(Path.GetFileNameWithoutExtension(fileName), dataSource, new VisualParameters(null, BrushHelper.PickBrush(), 3, 1), LayerType.VectorLayer, RenderingApproach.Default, IRI.Jab.Cartography.Model.RasterizationApproach.GdiPlus, ScaleInterval.All); this.SetLayer(vectorLayer); this.Refresh(); } catch (Exception ex) { ShowMessage(ex.Message); } finally { this.IsBusy = false; } }
/// <summary> /// Initializes a new instance of the <see cref="SlopeDirectionTexture"/> class. /// </summary> /// <param name="gradientSteps"> /// The gradient steps. /// </param> public SlopeDirectionTexture(int gradientSteps) { if (gradientSteps > 0) { this.Brush = BrushHelper.CreateSteppedGradientBrush(GradientBrushes.Hue, gradientSteps); } else { this.Brush = GradientBrushes.Hue; } }
/// <summary> /// Initializes a new instance of the <see cref="SlopeTexture"/> class. /// </summary> /// <param name="gradientSteps"> /// The gradient steps. /// </param> public SlopeTexture(int gradientSteps) { if (gradientSteps > 0) { this.Brush = BrushHelper.CreateSteppedGradientBrush(GradientBrushes.BlueWhiteRed, gradientSteps); } else { this.Brush = GradientBrushes.BlueWhiteRed; } }
public static VisualParameters CreateNew(double opacity = 1, double strokeThickness = 1, bool withoutFill = false) { Brush fill = null; if (!withoutFill) { fill = BrushHelper.PickGoodBrush(); } return(new VisualParameters(fill, BrushHelper.PickBrush(), strokeThickness, opacity)); }
public ElevationTexture(int gradientSteps) { if (gradientSteps > 0) { this.Brush = BrushHelper.CreateSteppedGradientBrush(GradientBrushes.Rainbow, gradientSteps); } else { this.Brush = GradientBrushes.Rainbow; } }
public SlopeTexture(LinearGradientBrush gradient, int gradientSteps) { if (gradientSteps > 0) { Brush = BrushHelper.CreateSteppedGradientBrush(gradient, gradientSteps); } else { Brush = gradient; } }
public static VisualParameters GetDefaultForMeasurements() { return(new VisualParameters( BrushHelper.Create(ColorHelper.ToWpfColor("#FBB03B"), 0.3), BrushHelper.Create("#FBB03B"), 3, 1, System.Windows.Visibility.Visible) { DashStyle = VisualParameters.GetDefaultDashStyleForMeasurements() }); }
public async Task InitializeAsync(string applicationId) { var application = await ApplicationRepository.GetAsync(applicationId); if (application != null) { ApplicationId = applicationId; ApplicationName = application.Name; ApplicationBackground = BrushHelper.ColorToBrush(application.Background); ApplicationImageUrl = application.ImageUrl; } }
public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { bool isSelected; if (bool.TryParse(value.ToString(), out isSelected)) { return(isSelected ? BrushHelper.GetBrushForHex(HighlightColourHex) : BrushHelper.GetBrushForHex(DefaultColourHex)); } return(new SolidColorBrush(Colors.White)); }
public override void Animate(IViewPublisher publisher, CancellationToken token) { string path = string.Empty; MainWindow.MainDispatcher.Invoke(() => { FolderBrowserDialog openFileDialog = new FolderBrowserDialog(); if (openFileDialog.ShowDialog() == DialogResult.OK) { path = openFileDialog.SelectedPath; } }); if (!string.IsNullOrEmpty(path)) { var files = Directory.GetFiles(path); do { foreach (var file in files) { var rows = File.ReadAllLines(file); foreach (string row in rows) { if (row.Length >= (TOTAL_LED * 3 * 3)) // because 3 colors RGB , each color encoded on 3 char { DispatcherInvocker(() => { var colors = new List <Brush>(); for (int id = 0; id < TOTAL_LED; id++) { var red = Convert.ToInt32(row.Substring(id * 9, 3)); var green = Convert.ToInt32(row.Substring(id * 9 + 3, 3)); var blue = Convert.ToInt32(row.Substring(id * 9 + 6, 3)); var b = BrushHelper.BuildBrush(red, green, blue); colors.Add(b); } publisher.UpdateAllLeds(colors); }); token.ThrowIfCancellationRequested(); WaitAction(); } } } } while (!token.IsCancellationRequested); } }
public async Task InitializeAsync(string applicationId, string marketId) { ApplicationId = _applicationId; MarketId = _marketId; MarketName = ResourceHelper.GetString(marketId, ResourcesFileEnum.CountriesResources); var application = await ApplicationRepository.GetAsync(applicationId); if (application != null) { ApplicationBackground = BrushHelper.ColorToBrush(application.Background); ApplicationImageUrl = application.ImageUrl; } }
/// <summary> /// Loads and displays a 3D model with its bounding box /// </summary> /// <returns></returns> protected override async Task LoadModelFromFileAsync() { await base.LoadModelFromFileAsync(); // Create a bounding box around the model var box = new BoundingBoxVisual3D { BoundingBox = Models[1].Content.Bounds, Fill = BrushHelper.CreateGrayBrush(50) }; Models.Add(box); // TODO: add lines outgoing from the center of each plane of the bounding box }
void dg_Variables_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e) { //dg_Variables.GotFocus += Row_GotFocus; DataGrid dg = (DataGrid)sender; TextBox tb = e.EditingElement as TextBox; Logger.Log(sender, string.Format("Variable affected: {0}, old value: {1}", tb.Text, oldText)); // if new text != old text -> remove old var if (tb.Text != oldText) { try { RemoveGeometry(oldText); } catch (Exception) { } } // if empty return and don't add row if (string.IsNullOrEmpty(tb.Text)) { e.Cancel = true; return; } // if new var is already in dict exit if (_dict.ContainsKey(tb.Text)) { e.Cancel = true; return; } else { bool added = AddGeometry(tb.Text).Result; if (added) { } else { e.Row.Background = BrushHelper.CreateRainbowBrush(); //e.Cancel = true; } } }
public override void Animate(IViewPublisher publisher, CancellationToken token) { int head = 0; bool running = true; int loop = 0; while (loop < 1000) { DispatcherInvocker(() => { var colors = new List <Brush>(); for (int i = 0; i < TOTAL_LED; i++) { int blue = 0; if (i == head) { blue = 50; } if ((i - 1) == head) { blue = 150; } if ((i - 2) == head) { blue = 255; } colors.Add(BrushHelper.BuildBrush(0, 0, blue)); } publisher.UpdateAllLeds(colors); }); token.ThrowIfCancellationRequested(); head++; if (head > TOTAL_LED) { head = 0; } WaitAction(); loop++; } }
public override void Animate(IViewPublisher publisher, CancellationToken token) { Brush colorRing1 = null; Brush colorRing2 = null; Brush colorRing3 = null; Brush colorRing4 = null; DispatcherInvocker(() => { colorRing1 = BrushHelper.BuildBrush(0, 0, 0); colorRing2 = BrushHelper.BuildBrush(0, 0, 0); colorRing3 = BrushHelper.BuildBrush(0, 0, 0); colorRing4 = BrushHelper.BuildBrush(0, 0, 0); }); while (true) { for (int loopi = 1; loopi <= 1530; loopi = loopi + 30) { DispatcherInvocker(() => { var colors = new List <Brush>(); colorRing4 = colorRing3; colorRing3 = colorRing2; colorRing2 = colorRing1; colorRing1 = BrushHelper.RGBRadiant(loopi); colors.AddRange(Enumerable.Repeat(colorRing4, 24).ToList()); colors.AddRange(Enumerable.Repeat(colorRing3, 16).ToList()); colors.AddRange(Enumerable.Repeat(colorRing2, 12).ToList()); colors.AddRange(Enumerable.Repeat(colorRing1, 8).ToList()); publisher.UpdateAllLeds(colors); }); token.ThrowIfCancellationRequested(); WaitActionCustom(100); } } }
public MainViewModel() { var defaultbrush = BrushHelper.BuildBrush(255, 0, 0); var defaultColors = new List <Brush>(); for (int i = 0; i < AbstractScenario.TOTAL_LED; i++) { defaultColors.Add(defaultbrush); } UpdateAllLeds(defaultColors); OnMyButtonClick = new RelayCommand(cmd => OnMyButtonClickImpl()); OnRecordScenearioClick = new RelayCommand(cmd => OnRecordScenearioClickImpl()); _scenario = new ScenarioGenerator(); var scenariiList = new ObservableCollection <string>(); Enum.GetValues(typeof(EScenario)).Cast <EScenario>().ToList().ForEach(x => scenariiList.Add(x.ToString())); this.ScenarioCollection = scenariiList; }
public override void Animate(IViewPublisher publisher, CancellationToken token) { int step = 100; var colorsKey = Enumerable.Range(0, step).Select(x => x * (1530 / step)).OrderByDescending(x => x).ToList(); int i = 0; while (true) { DispatcherInvocker(() => { var colors = new List <Brush>(); for (int led_i = 0; led_i < TOTAL_LED; led_i++) { int indice = i + led_i; if (indice >= step) { indice = indice - step; } colors.Add(BrushHelper.RGBRadiant(colorsKey[indice])); } publisher.UpdateAllLeds(colors); }); token.ThrowIfCancellationRequested(); WaitActionCustom(50); i++; if (i > step) { i = 0; } } }
public override void Animate(IViewPublisher publisher, CancellationToken token) { do { for (int i = 0; i < 24; i++) { DispatcherInvocker(() => { //ring 1; int a1 = i; int b1 = i - 1; if (b1 < 0) { b1 = b1 + 24; } int c1 = i - 2; if (c1 < 0) { c1 = c1 + 24; } int d1 = i - 3; if (d1 < 0) { d1 = d1 + 24; } //ring2 int a2 = secondRing[a1] + 24; int b2 = a2 - 1; if (b2 < 24) { b2 = b2 + 16; } int c2 = a2 - 2; if (c2 < 24) { c2 = c2 + 16; } //ring3 int a3 = thirdRing[a1] + 24 + 16; int b3 = a3 - 1; if (b3 < (24 + 16)) { b3 = b3 + 12; } //ring4 int a4 = fourthRing[a1] + 24 + 16 + 12; var brushes = Enumerable.Repeat(0, 60).Select(x => BrushHelper.BuildBrush(0, 0, 0)).ToList(); brushes[d1] = BrushHelper.BuildBrush(0, 0, 40); brushes[c1] = BrushHelper.BuildBrush(0, 0, 105); brushes[b1] = BrushHelper.BuildBrush(0, 0, 175); brushes[a1] = BrushHelper.BuildBrush(0, 0, 255); //if(a1 != 0 && a1 != 6 && a1 != 12 && a1 != 18) if (a1 != 4 && a1 != 10 && a1 != 16 && a1 != 22) { brushes[c2] = BrushHelper.BuildBrush(0, 0, 55); } brushes[b2] = BrushHelper.BuildBrush(0, 0, 150); brushes[a2] = BrushHelper.BuildBrush(0, 0, 255); brushes[b3] = BrushHelper.BuildBrush(0, 0, 120); brushes[a3] = BrushHelper.BuildBrush(0, 0, 255); brushes[a4] = BrushHelper.BuildBrush(0, 0, 255); publisher.UpdateAllLeds(brushes); }); token.ThrowIfCancellationRequested(); WaitActionCustom(30); } } while (!token.IsCancellationRequested); }
private VisualParameters(double opacity) : this(BrushHelper.PickBrush(), BrushHelper.PickBrush(), 1, opacity) { }
public static VisualParameters GetDefaultForDrawingItems() { return(new VisualParameters(null, BrushHelper.PickGoodBrush(), 2, 1)); }
private static void setAppGlobalValues() { int icfgValue; // Имя или ip-адрес компьютера, на котором запущена КДС-служба setGlobStringValueFromCfg("KDSServiceHostName", "localhost"); // Стандартный интервал опроса КДС-службы, в мсек. Допустимые значения от 500 до 2000. По умолчанию - 1000. setGlobIntValueFromCfg("KDSServiceIntervalStd", 1000); icfgValue = (int)WpfHelper.GetAppGlobalValue("KDSServiceIntervalStd"); if ((icfgValue < 500) || (icfgValue > 2000)) { WpfHelper.SetAppGlobalValue("KDSServiceIntervalStd", 1000); } // Уменьшенный интервал опроса КДС-службы, в мсек. Используется, когда клиент не смог получить данные от службы по причине того, что служба была занята чтением данных из БД. Допустимые значения от 50 до 450. По умолчанию - 100. Если не указано, то стандартный интервал таймера НЕ изменяется на альтернативный. setGlobIntValueFromCfg("KDSServiceIntervalAlt", 100); icfgValue = (int)WpfHelper.GetAppGlobalValue("KDSServiceIntervalAlt"); if ((icfgValue < 50) || (icfgValue > 450)) { WpfHelper.SetAppGlobalValue("KDSServiceIntervalAlt", 100); } // звуковой файл, проигрываемый при появлении нового заказа setGlobStringValueFromCfg("NewOrderAudioAttention"); // кликабельность заголовка заказа setGlobBoolValueFromCfg("OrderHeaderClickable"); // кликабельность ингредиента НЕЗАВИСИМО от родительского блюда setGlobBoolValueFromCfg("IsIngredientsIndependent"); // отображать ли на ЗАВИСИМЫХ ингредиентах таймеры setGlobBoolValueFromCfg("ShowTimerOnDependIngr"); // отображать ли заголовок ЗАКАЗА тем же статусом, что и ВСЕ, ОТОБРАЖАЕМЫЕ НА ДАННОМ КДС-е, блюда/ингредиенты setGlobBoolValueFromCfg("IsShowOrderStatusByAllShownDishes"); // боковая панель // Ширина кнопочной панели в процентах от ширины экрана. setGlobIntValueFromCfg("ControlPanelPercentWidth", 5); icfgValue = (int)WpfHelper.GetAppGlobalValue("ControlPanelPercentWidth"); if (icfgValue <= 0) { WpfHelper.SetAppGlobalValue("ControlPanelPercentWidth", 5); } // флажок отрисовки вкладок фильтра статусов по-отдельности setGlobBoolValueFromCfg("IsMultipleStatusTabs", false); // флажок группировки блюд по наименованию и суммирования количество порций setGlobBoolValueFromCfg("IsDishGroupAndSumQuantity", false); // **** РАЗМЕЩЕНИЕ ПАНЕЛЕЙ ЗАКАЗОВ setGlobIntValueFromCfg("OrdersColumnsCount", 4); // кол-во столбцов заказов icfgValue = (int)WpfHelper.GetAppGlobalValue("OrdersColumnsCount"); if (icfgValue <= 0) { WpfHelper.SetAppGlobalValue("OrdersColumnsCount", 4); } // масштабный коэффициент размера шрифтов панели заказа setGlobDoubleValueFromCfg("AppFontScale", 1.0d); setGlobIntValueFromCfg("OrdersPanelTopBotMargin", 40); // отступ сверху/снизу для панели заказов, в пикселях setGlobIntValueFromCfg("OrderPanelTopMargin", 50); // отступ между заказами по вертикали, в пикселях // отступ между заказами по горизонтали, в доли от ширины панели заказа setGlobDoubleValueFromCfg("OrderPanelLeftMargin", 0.15d); // кнопки прокрутки страниц, в пикселях setGlobDoubleValueFromCfg("OrdersPanelScrollButtonSize", 100d); // ** ЗАГОЛОВОК ЗАКАЗА // шрифты для панели заголовка заказа setGlobDoubleValueFromCfg("OrderPanelHdrLabelFontSize", 14d, "ordPnlHdrLabelFontSize"); // метки полей setGlobDoubleValueFromCfg("OrderPanelHdrTableNameFontSize", 20d, "ordPnlHdrTableNameFontSize"); // имя стола setGlobDoubleValueFromCfg("OrderPanelHdrOrderNumberFontSize", 22d, "ordPnlHdrOrderNumberFontSize"); // номер заказа setGlobDoubleValueFromCfg("OrderPanelHdrWaiterNameFontSize", 14d, "ordPnlHdrWaiterNameFontSize"); // имя официанта setGlobDoubleValueFromCfg("OrderPanelHdrOrderCreateDateFontSize", 20d, "ordPnlHdrOrderCreateDateFontSize"); // дата создания заказа setGlobDoubleValueFromCfg("OrderPanelHdrOrderTimerFontSize", 24d, "ordPnlHdrOrderTimerFontSize"); // таймер заказа // шрифт шапки таблицы блюд setGlobDoubleValueFromCfg("OrderPanelDishTblHeaderFontSize", 10d, "ordPnlDishTblHeaderFontSize"); // ** СТРОКА БЛЮДА // шрифт строки блюда setGlobDoubleValueFromCfg("OrderPanelDishIndexFontSize", 16d, "ordPnlDishIndexFontSize"); setGlobDoubleValueFromCfg("OrderPanelDishNameFontSize", 20d, "ordPnlDishNameFontSize"); setGlobDoubleValueFromCfg("OrderPanelIngrNameFontSize", 20d, "ordPnlIngrNameFontSize"); setGlobDoubleValueFromCfg("OrderPanelDishCommentFontSize", 18d, "ordPnlDishCommentFontSize"); setGlobDoubleValueFromCfg("OrderPanelDishQuantityFontSize", 22d, "ordPnlDishQuantityFontSize"); setGlobDoubleValueFromCfg("OrderPanelDishTimerFontSize", 20d, "ordPnlDishTimerFontSize"); // шрифт разделителя блюд (напр. Подача ** или Продол.см.на след.стр.) setGlobDoubleValueFromCfg("OrderPanelItemsDelimiterFontSize", 16d, "ordPnlDishDelimiterFontSize"); // различные текстовые строки setGlobStringValueFromCfg("DishesSupplyName", "Подача"); setGlobStringValueFromCfg("ContinueOrderNextPage", "Продолж. см.на СЛЕДУЮЩЕЙ стр."); setGlobStringValueFromCfg("ContinueOrderPrevPage", "Начало см.на ПРЕДЫДУЩЕЙ стр."); // Максимальное количество архивных файлов журнала. По умолчанию, равно 0 (нет ограничения). setGlobIntValueFromCfg("MaxLogFiles", 0); // флаги типов записей журнала приложения setGlobBoolValueFromCfg("IsWriteTraceMessages", true); setGlobBoolValueFromCfg("TraceOrdersDetails", true); setGlobBoolValueFromCfg("IsLogClientAction", true); setGlobBoolValueFromCfg("TraceScreenDrawDetails", true); // таймаут открытия канала WpfHelper.SetAppGlobalValue("OpenTimeoutSeconds", 3); // кисти читаются в служ.классе BrushHelper BrushHelper.FillAppBrushes(); }
public static VisualParameters GetRandomVisualParameters() { return(new VisualParameters(null, BrushHelper.PickGoodBrush(), 4, 1)); }
public VectorLayer(string name, List <SqlGeometry> features, LayerType type, RenderingApproach rendering, RasterizationApproach toRasterTechnique) : this(name, features, new VisualParameters(BrushHelper.PickBrush(), BrushHelper.PickBrush(), 1, 1, Visibility.Visible), type, rendering, toRasterTechnique) { }
public VisualParameters(string hexFill, string hexStroke, double strokeThickness = 1, double opacity = 1) : this(BrushHelper.CreateBrush(hexFill), BrushHelper.CreateBrush(hexStroke), strokeThickness, opacity) { }