Reactos
at master 113 lines 2.7 kB view raw
1/* 2 * ReactOS kernel 3 * Copyright (C) 2002 ReactOS Team 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License along 16 * with this program; if not, write to the Free Software Foundation, Inc., 17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 */ 19/* 20 * COPYRIGHT: See COPYING in the top level directory 21 * PROJECT: ReactOS text-mode setup 22 * FILE: base/setup/usetup/progress.h 23 * PURPOSE: Partition list functions 24 * PROGRAMMER: 25 */ 26 27#pragma once 28 29struct _PROGRESSBAR; 30 31typedef BOOLEAN 32(NTAPI *PUPDATE_PROGRESS)( 33 IN struct _PROGRESSBAR* Bar, 34 IN BOOLEAN AlwaysUpdate, 35 OUT PSTR Buffer, 36 IN SIZE_T cchBufferSize); 37 38typedef struct _PROGRESSBAR 39{ 40 /* Border and text positions */ 41 SHORT Left; 42 SHORT Top; 43 SHORT Right; 44 SHORT Bottom; 45 SHORT TextTop; 46 SHORT TextRight; 47 48 SHORT Width; 49 50 /* Maximum and current step counts */ 51 ULONG StepCount; 52 ULONG CurrentStep; 53 54 /* User-specific displayed bar progress/position */ 55 PUPDATE_PROGRESS UpdateProgressProc; 56 ULONG Progress; 57 SHORT Pos; 58 59 /* Static progress bar cues */ 60 BOOLEAN DoubleEdge; 61 SHORT ProgressColour; 62 PCSTR DescriptionText; 63 PCSTR ProgressFormatText; 64} PROGRESSBAR, *PPROGRESSBAR; 65 66 67/* FUNCTIONS ****************************************************************/ 68 69PPROGRESSBAR 70CreateProgressBarEx( 71 IN SHORT Left, 72 IN SHORT Top, 73 IN SHORT Right, 74 IN SHORT Bottom, 75 IN SHORT TextTop, 76 IN SHORT TextRight, 77 IN BOOLEAN DoubleEdge, 78 IN SHORT ProgressColour, 79 IN ULONG StepCount, 80 IN PCSTR DescriptionText OPTIONAL, 81 IN PCSTR ProgressFormatText OPTIONAL, 82 IN PUPDATE_PROGRESS UpdateProgressProc OPTIONAL); 83 84PPROGRESSBAR 85CreateProgressBar( 86 IN SHORT Left, 87 IN SHORT Top, 88 IN SHORT Right, 89 IN SHORT Bottom, 90 IN SHORT TextTop, 91 IN SHORT TextRight, 92 IN BOOLEAN DoubleEdge, 93 IN PCSTR DescriptionText OPTIONAL); 94 95VOID 96DestroyProgressBar( 97 IN OUT PPROGRESSBAR Bar); 98 99VOID 100ProgressSetStepCount( 101 IN PPROGRESSBAR Bar, 102 IN ULONG StepCount); 103 104VOID 105ProgressNextStep( 106 IN PPROGRESSBAR Bar); 107 108VOID 109ProgressSetStep( 110 IN PPROGRESSBAR Bar, 111 IN ULONG Step); 112 113/* EOF */