Annotation of nono/vm/uimessage.cpp, revision 1.1.1.1

1.1       root        1: //
                      2: // nono
                      3: // Copyright (C) 2021 nono project
                      4: // Licensed under nono-license.txt
                      5: //
                      6: 
                      7: #include "uimessage.h"
                      8: 
                      9: /*static*/ UIMessage::Queue UIMessage::queue {};
                     10: /*static*/ std::function<void(UIMessage::Queue&)> UIMessage::process {};
                     11: 
                     12: // コンストラクタ
                     13: UIMessage::UIMessage()
                     14:        : UIMessage(ID::NONE, 0)
                     15: {
                     16: }
                     17: 
                     18: // コンストラクタ (ID, argあり)
                     19: UIMessage::UIMessage(ID id_, int arg_)
                     20: {
                     21:        id = id_;
                     22:        arg = arg_;
                     23: }
                     24: 
                     25: /*static*/ void
                     26: UIMessage::Attach(const std::function<void(Queue&)>& process_)
                     27: {
                     28:        process = process_;
                     29:        // 溜まっているものを処理する
                     30:        process(queue);
                     31: }
                     32: 
                     33: void
                     34: UIMessage::Post()
                     35: {
                     36:        queue.EnqueueForce(*this);
                     37:        if (process) {
                     38:                process(queue);
                     39:        }
                     40: }
                     41: 
                     42: /*static*/ void
                     43: UIMessage::Post(ID id)
                     44: {
                     45:        UIMessage(id, 0).Post();
                     46: }
                     47: 
                     48: /*static*/ void
                     49: UIMessage::Post(ID id, int arg)
                     50: {
                     51:        UIMessage(id, arg).Post();
                     52: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.