// Adds a new stack entry to stackEntries public void add(int input) { StackEntryDrawing inputStackEntry = new StackEntryDrawing(width, height, x, y, input); this.stackEntries.push(inputStackEntry); y -= height; }
public StackDrawing(int x, int startY, int width, int height, LinkedStack <int> inputs) { this.y = startY - height; this.stackEntries = new LinkedStack <StackEntryDrawing>(); // Populate stackEntries. The first entry is the last element of inputs. // This is because the stack is drawn from the base -- as a result, we must reverse the order of inputs // when drawing the image of the stack itself. while (!inputs.isEmpty()) { StackEntryDrawing currEntry = new StackEntryDrawing(width, height, x, y, inputs.First.Value); inputs.RemoveFirst(); this.stackEntries.AddFirst(currEntry); y -= height; } this.x = x; this.width = width; this.height = height; }