32 lines
579 B
C++
32 lines
579 B
C++
#ifndef INTEGRATEDCIRCUIT_H
|
|
#define INTEGRATEDCIRCUIT_H
|
|
|
|
#include <QString>
|
|
|
|
#include "../Part.h"
|
|
|
|
class Logic;
|
|
class ToggleButton;
|
|
class LightBulb;
|
|
|
|
class IntegratedCircuit : public Part
|
|
{
|
|
public:
|
|
IntegratedCircuit(Logic* logic, QString filename = "");
|
|
|
|
QString filename();
|
|
|
|
QVector<bool> compute(QVector<bool> inputs) override;
|
|
QPainterPath symbolPainterPath(QRect limits) override;
|
|
|
|
private:
|
|
QString m_filename;
|
|
|
|
Logic* m_icLogic;
|
|
|
|
QVector<ToggleButton*> m_icLogicInputs;
|
|
QVector<LightBulb*> m_icLogicOutputs;
|
|
};
|
|
|
|
#endif // INTEGRATEDCIRCUIT_H
|